dataiku-api-client 15.0.0__tar.gz → 15.0.2__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.
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/HISTORY.txt +21 -0
- {dataiku_api_client-15.0.0/dataiku_api_client.egg-info → dataiku_api_client-15.0.2}/PKG-INFO +23 -2
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2/dataiku_api_client.egg-info}/PKG-INFO +23 -2
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataiku_api_client.egg-info/SOURCES.txt +1 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/__init__.py +2 -1
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/agent_tool.py +15 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/apideployer.py +4 -2
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/app.py +5 -1
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/cobuild.py +304 -6
- dataiku_api_client-15.0.2/dataikuapi/dss/dam.py +1485 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/data_collection.py +1 -1
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/document_extractor.py +28 -5
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/flow.py +2 -2
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/langchain/embeddings.py +6 -1
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/llm.py +23 -4
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/llm_utils/__init__.py +14 -4
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/managedfolder.py +5 -3
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/ml.py +1 -1
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/project.py +18 -3
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/recipe.py +5 -2
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/scenario.py +3 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/tools/codegen.py +3 -3
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dssclient.py +30 -9
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/setup.py +1 -1
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/LICENSE.txt +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/MANIFEST.in +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/README +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataiku_api_client.egg-info/dependency_links.txt +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataiku_api_client.egg-info/requires.txt +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataiku_api_client.egg-info/top_level.txt +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/apinode_admin/__init__.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/apinode_admin/auth.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/apinode_admin/service.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/apinode_admin_client.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/apinode_client.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/auth.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/base_client.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/__init__.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/admin.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/agent.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/agent_review.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/agent_skill.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/analysis.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/apiservice.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/businessapp.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/codestudio.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/continuousactivity.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/dashboard.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/data_directories_footprint.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/data_quality.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/dataset.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/discussion.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/drift.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/enterprise_asset_library.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/evaluationcomparison.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/evaluationstore.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/feature_store.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/future.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/insight.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/job.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/jupyternotebook.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/knowledgebank.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/labeling_task.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/langchain/__init__.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/langchain/knowledge_bank.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/langchain/llm.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/langchain/tool.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/langchain/utils.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/llm_tracing/__init__.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/local_model.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/macro.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/meaning.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/messaging_channel.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/metrics.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/mira.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/mlflow.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/modelcomparison.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/modelevaluationstore.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/notebook.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/plugin.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/project_standards.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/projectdeployer.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/projectfolder.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/projectlibrary.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/retrieval_augmented_llm.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/savedmodel.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/semantic_model.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/sqlnotebook.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/sqlquery.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/statistics.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/streaming_endpoint.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/tools/__init__.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/tools/langchain.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/unifiedmonitoring.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/utils.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/webapp.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/wiki.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss/workspace.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss_plugin_mlflow/__init__.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss_plugin_mlflow/artifact_repository.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss_plugin_mlflow/header_provider.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/dss_plugin_mlflow/utils.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/fm/__init__.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/fm/cloudaccounts.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/fm/future.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/fm/instances.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/fm/instancesettingstemplates.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/fm/loadbalancers.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/fm/tenant.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/fm/virtualnetworks.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/fmclient.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/__init__.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/admin.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/admin_blueprint_designer.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/admin_custom_pages_handler.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/admin_roles_permissions_handler.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/artifact.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/artifact_search.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/blueprint.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/custom_page.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/future.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/time_series.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/uploaded_file.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern/users_container.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/govern_client.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/iam/__init__.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/iam/settings.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/launchpad/__init__.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/launchpad/exceptions.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/launchpad/group.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/launchpad/node.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/launchpad/profile.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/launchpad/response.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/launchpad/task.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/launchpad/user.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/launchpad_client.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataikuapi/utils.py +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/requirements.txt +0 -0
- {dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/setup.cfg +0 -0
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
==========
|
|
3
3
|
|
|
4
|
+
15.0.2 (2026-09-29)
|
|
5
|
+
-------------------
|
|
6
|
+
|
|
7
|
+
* Initial release for DSS 15.0.2
|
|
8
|
+
|
|
9
|
+
15.0.1 (2026-09-15)
|
|
10
|
+
-------------------
|
|
11
|
+
|
|
12
|
+
* Initial release for DSS 15.0.1
|
|
13
|
+
|
|
4
14
|
15.0.0 (2026-08-14)
|
|
5
15
|
-------------------
|
|
6
16
|
|
|
7
17
|
* Initial release for DSS 15.0.0
|
|
8
18
|
|
|
19
|
+
|
|
20
|
+
14.7.5 (2026-09-29)
|
|
21
|
+
-------------------
|
|
22
|
+
|
|
23
|
+
* Initial release for DSS 14.7.5
|
|
24
|
+
|
|
25
|
+
14.7.4 (2026-09-14)
|
|
26
|
+
-------------------
|
|
27
|
+
|
|
28
|
+
* Initial release for DSS 14.7.4
|
|
29
|
+
|
|
9
30
|
14.7.3 (2026-08-03)
|
|
10
31
|
-------------------
|
|
11
32
|
|
{dataiku_api_client-15.0.0/dataiku_api_client.egg-info → dataiku_api_client-15.0.2}/PKG-INFO
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dataiku-api-client
|
|
3
|
-
Version: 15.0.
|
|
3
|
+
Version: 15.0.2
|
|
4
4
|
Summary: Python API client for Dataiku APIs
|
|
5
5
|
Home-page: https://www.dataiku.com
|
|
6
|
-
Download-URL: https://github.com/dataiku/dataiku-api-client-python/tarball/15.0.
|
|
6
|
+
Download-URL: https://github.com/dataiku/dataiku-api-client-python/tarball/15.0.2
|
|
7
7
|
Author: Dataiku
|
|
8
8
|
Author-email: support@dataiku.com
|
|
9
9
|
License: Apache Software License
|
|
@@ -35,11 +35,32 @@ https://doc.dataiku.com/dss/latest/python-api/rest-api-client/index.html
|
|
|
35
35
|
Changelog
|
|
36
36
|
==========
|
|
37
37
|
|
|
38
|
+
15.0.2 (2026-09-29)
|
|
39
|
+
-------------------
|
|
40
|
+
|
|
41
|
+
* Initial release for DSS 15.0.2
|
|
42
|
+
|
|
43
|
+
15.0.1 (2026-09-15)
|
|
44
|
+
-------------------
|
|
45
|
+
|
|
46
|
+
* Initial release for DSS 15.0.1
|
|
47
|
+
|
|
38
48
|
15.0.0 (2026-08-14)
|
|
39
49
|
-------------------
|
|
40
50
|
|
|
41
51
|
* Initial release for DSS 15.0.0
|
|
42
52
|
|
|
53
|
+
|
|
54
|
+
14.7.5 (2026-09-29)
|
|
55
|
+
-------------------
|
|
56
|
+
|
|
57
|
+
* Initial release for DSS 14.7.5
|
|
58
|
+
|
|
59
|
+
14.7.4 (2026-09-14)
|
|
60
|
+
-------------------
|
|
61
|
+
|
|
62
|
+
* Initial release for DSS 14.7.4
|
|
63
|
+
|
|
43
64
|
14.7.3 (2026-08-03)
|
|
44
65
|
-------------------
|
|
45
66
|
|
{dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2/dataiku_api_client.egg-info}/PKG-INFO
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dataiku-api-client
|
|
3
|
-
Version: 15.0.
|
|
3
|
+
Version: 15.0.2
|
|
4
4
|
Summary: Python API client for Dataiku APIs
|
|
5
5
|
Home-page: https://www.dataiku.com
|
|
6
|
-
Download-URL: https://github.com/dataiku/dataiku-api-client-python/tarball/15.0.
|
|
6
|
+
Download-URL: https://github.com/dataiku/dataiku-api-client-python/tarball/15.0.2
|
|
7
7
|
Author: Dataiku
|
|
8
8
|
Author-email: support@dataiku.com
|
|
9
9
|
License: Apache Software License
|
|
@@ -35,11 +35,32 @@ https://doc.dataiku.com/dss/latest/python-api/rest-api-client/index.html
|
|
|
35
35
|
Changelog
|
|
36
36
|
==========
|
|
37
37
|
|
|
38
|
+
15.0.2 (2026-09-29)
|
|
39
|
+
-------------------
|
|
40
|
+
|
|
41
|
+
* Initial release for DSS 15.0.2
|
|
42
|
+
|
|
43
|
+
15.0.1 (2026-09-15)
|
|
44
|
+
-------------------
|
|
45
|
+
|
|
46
|
+
* Initial release for DSS 15.0.1
|
|
47
|
+
|
|
38
48
|
15.0.0 (2026-08-14)
|
|
39
49
|
-------------------
|
|
40
50
|
|
|
41
51
|
* Initial release for DSS 15.0.0
|
|
42
52
|
|
|
53
|
+
|
|
54
|
+
14.7.5 (2026-09-29)
|
|
55
|
+
-------------------
|
|
56
|
+
|
|
57
|
+
* Initial release for DSS 14.7.5
|
|
58
|
+
|
|
59
|
+
14.7.4 (2026-09-14)
|
|
60
|
+
-------------------
|
|
61
|
+
|
|
62
|
+
* Initial release for DSS 14.7.4
|
|
63
|
+
|
|
43
64
|
14.7.3 (2026-08-03)
|
|
44
65
|
-------------------
|
|
45
66
|
|
{dataiku_api_client-15.0.0 → dataiku_api_client-15.0.2}/dataiku_api_client.egg-info/SOURCES.txt
RENAMED
|
@@ -36,6 +36,7 @@ dataikuapi/dss/businessapp.py
|
|
|
36
36
|
dataikuapi/dss/cobuild.py
|
|
37
37
|
dataikuapi/dss/codestudio.py
|
|
38
38
|
dataikuapi/dss/continuousactivity.py
|
|
39
|
+
dataikuapi/dss/dam.py
|
|
39
40
|
dataikuapi/dss/dashboard.py
|
|
40
41
|
dataikuapi/dss/data_collection.py
|
|
41
42
|
dataikuapi/dss/data_directories_footprint.py
|
|
@@ -8,6 +8,7 @@ from .apinode_admin_client import APINodeAdminClient
|
|
|
8
8
|
from .dss.recipe import GroupingRecipeCreator, UpsertRecipeCreator, JoinRecipeCreator, StackRecipeCreator, WindowRecipeCreator, SyncRecipeCreator, SamplingRecipeCreator, SQLQueryRecipeCreator, CodeRecipeCreator, SplitRecipeCreator, SortRecipeCreator, TopNRecipeCreator, DistinctRecipeCreator, DownloadRecipeCreator, PredictionScoringRecipeCreator, ClusteringScoringRecipeCreator
|
|
9
9
|
|
|
10
10
|
from .dss.admin import DSSUserImpersonationRule, DSSGroupImpersonationRule
|
|
11
|
+
from .dss.dam import DAMAgentFilter
|
|
11
12
|
|
|
12
13
|
import sys
|
|
13
14
|
import warnings
|
|
@@ -18,4 +19,4 @@ else:
|
|
|
18
19
|
warnings.warn(
|
|
19
20
|
"dataikuapi.LaunchpadClient is only available for Python 3.6 and above",
|
|
20
21
|
DeprecationWarning,
|
|
21
|
-
)
|
|
22
|
+
)
|
|
@@ -324,6 +324,21 @@ class DSSAgentToolSettings(DSSTaggableObjectSettings):
|
|
|
324
324
|
"""
|
|
325
325
|
return self._settings["params"]
|
|
326
326
|
|
|
327
|
+
@property
|
|
328
|
+
def name(self):
|
|
329
|
+
"""
|
|
330
|
+
:returns: The name of the tool
|
|
331
|
+
:rtype: string
|
|
332
|
+
"""
|
|
333
|
+
return self._settings["name"]
|
|
334
|
+
|
|
335
|
+
@property
|
|
336
|
+
def type(self):
|
|
337
|
+
"""
|
|
338
|
+
:returns: The type of the tool
|
|
339
|
+
:rtype: string
|
|
340
|
+
"""
|
|
341
|
+
return self._settings["type"]
|
|
327
342
|
|
|
328
343
|
def save(self):
|
|
329
344
|
"""
|
|
@@ -423,7 +423,8 @@ class DSSAPIDeployerDeployment(object):
|
|
|
423
423
|
Runs test queries on a deployment and returns results as a dict
|
|
424
424
|
|
|
425
425
|
:param str endpoint_id: Mandatory if the deployment has multiple endpoints
|
|
426
|
-
:param list test_queries: Queries as str, formatted as [{"q": {"features": {"feat_1": "value", ...}}, {
|
|
426
|
+
:param list test_queries: Queries as str, formatted as [{"q": {"features": {"feat_1": "value", ...}}, "headers": [{"key": "X-Custom-Header", "value": "value"}]}, ... ].
|
|
427
|
+
The optional ``headers`` list is sent with each query.
|
|
427
428
|
If left to None, the test queries of the current version of the service will be used.
|
|
428
429
|
:rtype: dict
|
|
429
430
|
|
|
@@ -493,7 +494,8 @@ class DSSAPIDeployerDeployment(object):
|
|
|
493
494
|
Runs queries on a deployment and returns results as a dict
|
|
494
495
|
An authorization to query the deployment through the deployer is needed
|
|
495
496
|
|
|
496
|
-
:param list queries: Queries as str, formatted as ``[{"q": {"features": {"feat_1": "value", ...}}, {
|
|
497
|
+
:param list queries: Queries as str, formatted as ``[{"q": {"features": {"feat_1": "value", ...}}, "headers": [{"key": "X-Custom-Header", "value": "value"}]}, ... ]``.
|
|
498
|
+
The optional ``headers`` list is sent with each query.
|
|
497
499
|
:param str endpoint_id: Mandatory if the deployment has multiple endpoints
|
|
498
500
|
:param bool adapt_query_for_infra_type: If True, automatically adjusts the query format to be compatible with the target infrastructure type.
|
|
499
501
|
This is mainly applicable to Deploy-Anywhere infrastructures. Defaults to True.
|
|
@@ -264,7 +264,11 @@ class TemporaryDSSAppInstance(DSSAppInstance):
|
|
|
264
264
|
"""
|
|
265
265
|
Delete this app instance.
|
|
266
266
|
"""
|
|
267
|
-
self.get_as_project().delete(
|
|
267
|
+
self.get_as_project().delete(
|
|
268
|
+
clear_managed_datasets=True,
|
|
269
|
+
clear_output_managed_folders=True,
|
|
270
|
+
clear_managed_knowledge_banks=True,
|
|
271
|
+
clear_job_and_scenario_logs=True)
|
|
268
272
|
|
|
269
273
|
def __enter__(self,):
|
|
270
274
|
return self
|
|
@@ -7,6 +7,210 @@ from dataikuapi.dss.recipe import DSSRecipe
|
|
|
7
7
|
from dataikuapi.dss.savedmodel import DSSSavedModel
|
|
8
8
|
from dataikuapi.dss.streaming_endpoint import DSSStreamingEndpoint
|
|
9
9
|
|
|
10
|
+
import sys
|
|
11
|
+
|
|
12
|
+
# Only meant to avoid parent modules to fail when importing this module, but this won't work at runtime. We aren't trying to support
|
|
13
|
+
# Python versions older than 3.5 in this module. See this thread (if it still exists: https://dataiku.slack.com/archives/CBZBN0ZCN/p1788265325448089).
|
|
14
|
+
if sys.version_info > (3, 4):
|
|
15
|
+
from enum import Enum
|
|
16
|
+
else:
|
|
17
|
+
class Enum(object):
|
|
18
|
+
pass
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class CobuildConversationMode(Enum):
|
|
22
|
+
"""Mode used for a Cobuild user message."""
|
|
23
|
+
BUILD = "BUILD"
|
|
24
|
+
PLAN = "PLAN"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class CobuildPlanStatus(Enum):
|
|
28
|
+
"""Lifecycle state of a :class:`CobuildPlan`."""
|
|
29
|
+
DRAFT = "DRAFT"
|
|
30
|
+
ACTIVE = "ACTIVE"
|
|
31
|
+
INACTIVE = "INACTIVE"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class CobuildPlanMilestoneStatus(Enum):
|
|
35
|
+
"""Execution state of a :class:`CobuildPlanMilestone`."""
|
|
36
|
+
NOT_STARTED = "NOT_STARTED"
|
|
37
|
+
IN_PROGRESS = "IN_PROGRESS"
|
|
38
|
+
DONE = "DONE"
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class CobuildPlanImplementationNotes(object):
|
|
42
|
+
"""
|
|
43
|
+
Additional implementation context for a Cobuild plan milestone.
|
|
44
|
+
|
|
45
|
+
These notes record the tools that Cobuild planned to use and the reasoning it retained while
|
|
46
|
+
validating and executing the plan. They are provided for inspection only; changing this object
|
|
47
|
+
does not modify the plan in DSS.
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
def __init__(self, raw):
|
|
51
|
+
self._raw = raw
|
|
52
|
+
|
|
53
|
+
@property
|
|
54
|
+
def tools(self):
|
|
55
|
+
"""
|
|
56
|
+
Names of the tools Cobuild planned to use.
|
|
57
|
+
|
|
58
|
+
:rtype: list[str]
|
|
59
|
+
"""
|
|
60
|
+
return list(self._raw.get("tools") or [])
|
|
61
|
+
|
|
62
|
+
@property
|
|
63
|
+
def details(self):
|
|
64
|
+
"""
|
|
65
|
+
Detailed implementation and validation notes.
|
|
66
|
+
|
|
67
|
+
:rtype: str or None
|
|
68
|
+
"""
|
|
69
|
+
return self._raw.get("details")
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class CobuildPlanMilestone(object):
|
|
73
|
+
"""
|
|
74
|
+
One ordered unit of work in a :class:`CobuildPlan`.
|
|
75
|
+
|
|
76
|
+
Milestones are read-only snapshots of the plan returned by DSS. Their fields describe both the
|
|
77
|
+
intended work and its current execution state; changing this object does not modify the plan in
|
|
78
|
+
DSS.
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
def __init__(self, raw):
|
|
82
|
+
self._raw = raw
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def id(self):
|
|
86
|
+
"""
|
|
87
|
+
Identifier of this milestone.
|
|
88
|
+
|
|
89
|
+
:rtype: str
|
|
90
|
+
"""
|
|
91
|
+
return self._raw.get("id")
|
|
92
|
+
|
|
93
|
+
@property
|
|
94
|
+
def status(self):
|
|
95
|
+
"""
|
|
96
|
+
Current execution state of this milestone.
|
|
97
|
+
|
|
98
|
+
:rtype: :class:`CobuildPlanMilestoneStatus`
|
|
99
|
+
"""
|
|
100
|
+
return CobuildPlanMilestoneStatus(self._raw.get("status"))
|
|
101
|
+
|
|
102
|
+
@property
|
|
103
|
+
def title(self):
|
|
104
|
+
"""
|
|
105
|
+
Short description of the milestone.
|
|
106
|
+
|
|
107
|
+
:rtype: str or None
|
|
108
|
+
"""
|
|
109
|
+
return self._raw.get("title")
|
|
110
|
+
|
|
111
|
+
@property
|
|
112
|
+
def steps(self):
|
|
113
|
+
"""
|
|
114
|
+
Markdown description of the work Cobuild intends to carry out.
|
|
115
|
+
|
|
116
|
+
:rtype: str or None
|
|
117
|
+
"""
|
|
118
|
+
return self._raw.get("steps")
|
|
119
|
+
|
|
120
|
+
@property
|
|
121
|
+
def completion_checklist(self):
|
|
122
|
+
"""
|
|
123
|
+
Checks Cobuild uses to determine whether the milestone is complete.
|
|
124
|
+
|
|
125
|
+
:rtype: list[str]
|
|
126
|
+
"""
|
|
127
|
+
return list(self._raw.get("completionChecklist") or [])
|
|
128
|
+
|
|
129
|
+
@property
|
|
130
|
+
def output_description_summary(self):
|
|
131
|
+
"""
|
|
132
|
+
Summary of the expected outputs or outcomes of this milestone.
|
|
133
|
+
|
|
134
|
+
:rtype: str or None
|
|
135
|
+
"""
|
|
136
|
+
return self._raw.get("outputDescriptionSummary")
|
|
137
|
+
|
|
138
|
+
@property
|
|
139
|
+
def implementation_notes(self):
|
|
140
|
+
"""
|
|
141
|
+
Additional implementation context, when Cobuild supplied it.
|
|
142
|
+
|
|
143
|
+
:rtype: :class:`CobuildPlanImplementationNotes` or None
|
|
144
|
+
"""
|
|
145
|
+
raw = self._raw.get("implementationNotes")
|
|
146
|
+
return CobuildPlanImplementationNotes(raw) if raw is not None else None
|
|
147
|
+
|
|
148
|
+
class CobuildPlan(object):
|
|
149
|
+
"""
|
|
150
|
+
Read-only typed snapshot of a Cobuild plan.
|
|
151
|
+
|
|
152
|
+
A plan is returned by :attr:`CobuildAssistantResponse.updated_plan` whenever Cobuild updates
|
|
153
|
+
it while processing a request. The snapshot contains the complete current plan, not a patch.
|
|
154
|
+
To revise it, send another message in :attr:`CobuildConversationMode.PLAN` mode; to execute a
|
|
155
|
+
draft, call :meth:`DSSCobuildConversation.approve_plan`.
|
|
156
|
+
|
|
157
|
+
For example::
|
|
158
|
+
|
|
159
|
+
plan = response.updated_plan
|
|
160
|
+
if plan is not None:
|
|
161
|
+
print(plan.title, plan.status.value)
|
|
162
|
+
for milestone in plan.milestones:
|
|
163
|
+
print(milestone.title, milestone.status.value)
|
|
164
|
+
"""
|
|
165
|
+
|
|
166
|
+
def __init__(self, raw):
|
|
167
|
+
self._raw = raw
|
|
168
|
+
|
|
169
|
+
@property
|
|
170
|
+
def id(self):
|
|
171
|
+
"""
|
|
172
|
+
Identifier of this plan.
|
|
173
|
+
|
|
174
|
+
:rtype: str
|
|
175
|
+
"""
|
|
176
|
+
return self._raw.get("id")
|
|
177
|
+
|
|
178
|
+
@property
|
|
179
|
+
def status(self):
|
|
180
|
+
"""
|
|
181
|
+
Current lifecycle state of this plan.
|
|
182
|
+
|
|
183
|
+
:rtype: :class:`CobuildPlanStatus`
|
|
184
|
+
"""
|
|
185
|
+
return CobuildPlanStatus(self._raw.get("status"))
|
|
186
|
+
|
|
187
|
+
@property
|
|
188
|
+
def title(self):
|
|
189
|
+
"""
|
|
190
|
+
Short description of the overall plan.
|
|
191
|
+
|
|
192
|
+
:rtype: str or None
|
|
193
|
+
"""
|
|
194
|
+
return self._raw.get("title")
|
|
195
|
+
|
|
196
|
+
@property
|
|
197
|
+
def description(self):
|
|
198
|
+
"""
|
|
199
|
+
Detailed description of the plan.
|
|
200
|
+
|
|
201
|
+
:rtype: str or None
|
|
202
|
+
"""
|
|
203
|
+
return self._raw.get("description")
|
|
204
|
+
|
|
205
|
+
@property
|
|
206
|
+
def milestones(self):
|
|
207
|
+
"""
|
|
208
|
+
Ordered milestones making up this plan.
|
|
209
|
+
|
|
210
|
+
:rtype: list of :class:`CobuildPlanMilestone`
|
|
211
|
+
"""
|
|
212
|
+
return [CobuildPlanMilestone(raw) for raw in self._raw.get("milestones") or []]
|
|
213
|
+
|
|
10
214
|
|
|
11
215
|
class CobuildMessage(object):
|
|
12
216
|
def __init__(self, raw):
|
|
@@ -29,7 +233,7 @@ class CobuildAssistantResponse(CobuildMessage):
|
|
|
29
233
|
.. important::
|
|
30
234
|
Do not create this class directly, it is returned by :meth:`DSSCobuildConversation.send_message`
|
|
31
235
|
:meth:`DSSCobuildConversation.answer_confirmation`, and
|
|
32
|
-
:meth:`DSSCobuildConversation.answer_question`.
|
|
236
|
+
:meth:`DSSCobuildConversation.answer_question`, and :meth:`DSSCobuildConversation.approve_plan`.
|
|
33
237
|
"""
|
|
34
238
|
|
|
35
239
|
@property
|
|
@@ -195,6 +399,20 @@ class CobuildAssistantResponse(CobuildMessage):
|
|
|
195
399
|
"""
|
|
196
400
|
return self._raw.get("selectFirstAnswerByDefault")
|
|
197
401
|
|
|
402
|
+
@property
|
|
403
|
+
def updated_plan(self):
|
|
404
|
+
"""
|
|
405
|
+
The latest non-null plan update emitted while processing this request.
|
|
406
|
+
|
|
407
|
+
The returned :class:`CobuildPlan` is a read-only snapshot of the complete current plan,
|
|
408
|
+
including its status, title, description, and typed milestones. ``None`` when the request
|
|
409
|
+
did not update a plan or if it got discarded.
|
|
410
|
+
|
|
411
|
+
:rtype: :class:`CobuildPlan` or None
|
|
412
|
+
"""
|
|
413
|
+
raw = self._raw.get("updatedPlan")
|
|
414
|
+
return CobuildPlan(raw) if raw is not None else None
|
|
415
|
+
|
|
198
416
|
def __repr__(self):
|
|
199
417
|
return "CobuildAssistantResponse(type=%r, message=%r)" % (self.type, self.message)
|
|
200
418
|
|
|
@@ -333,8 +551,16 @@ class DSSCobuildConversation(object):
|
|
|
333
551
|
)
|
|
334
552
|
print(response.message)
|
|
335
553
|
|
|
336
|
-
|
|
337
|
-
:meth:`send_message
|
|
554
|
+
For tools that require project edit permission, pass ``allow_edit_project=True`` to
|
|
555
|
+
:meth:`send_message`. To allow file operations in specific managed folders, pass their IDs
|
|
556
|
+
through ``allow_edit_managed_folder_contents``.
|
|
557
|
+
|
|
558
|
+
Cobuild can also create plans, iterate with the user and implement them once approved by the user.
|
|
559
|
+
The conversation can be in one of three states: build mode without a plan, plan mode with a draft plan,
|
|
560
|
+
and build mode with an active plan. Send messages with
|
|
561
|
+
``conversation_mode=CobuildConversationMode.PLAN`` to draft a plan, then call
|
|
562
|
+
:meth:`approve_plan` to execute it and wait for the final response. Discard a draft plan
|
|
563
|
+
before returning to build mode, and discard an active plan before returning to plan mode.
|
|
338
564
|
"""
|
|
339
565
|
|
|
340
566
|
def __init__(self, client, project_key, conversation_id, selected_objects=None):
|
|
@@ -359,7 +585,7 @@ class DSSCobuildConversation(object):
|
|
|
359
585
|
"""
|
|
360
586
|
return list(self._messages)
|
|
361
587
|
|
|
362
|
-
def send_message(self, message, selected_objects=None, allow_edit_project=False):
|
|
588
|
+
def send_message(self, message, selected_objects=None, allow_edit_project=False, conversation_mode=CobuildConversationMode.BUILD, intelligence_level=None, allow_edit_managed_folder_contents=None):
|
|
363
589
|
"""
|
|
364
590
|
Send a message to the assistant and wait for its response.
|
|
365
591
|
|
|
@@ -371,14 +597,30 @@ class DSSCobuildConversation(object):
|
|
|
371
597
|
:param bool allow_edit_project: whether to allow Cobuild to create and edit everything
|
|
372
598
|
needed in this project to follow this message. This permission applies only to this
|
|
373
599
|
message.
|
|
600
|
+
:param list[str] allow_edit_managed_folder_contents: list of managed folder ids in which Cobuild is allowed to write, modify or delete files
|
|
601
|
+
This permission applies only to this message.
|
|
602
|
+
:param CobuildConversationMode conversation_mode: :attr:`CobuildConversationMode.BUILD`
|
|
603
|
+
(the default) for normal or plan-execution messages, or
|
|
604
|
+
:attr:`CobuildConversationMode.PLAN` to draft or revise a plan. A draft plan must
|
|
605
|
+
be discarded before switching back to build mode; an active plan must be discarded
|
|
606
|
+
before switching back to plan mode.
|
|
607
|
+
:param str intelligence_level: optional intelligence level: ``"LIGHT"``, ``"MEDIUM"``,
|
|
608
|
+
``"HIGH"``, or ``"VERY_HIGH"``. ``None`` defaults to ``"MEDIUM"``.
|
|
374
609
|
|
|
375
610
|
:returns: the assistant's response
|
|
376
611
|
:rtype: :class:`CobuildAssistantResponse`
|
|
377
612
|
"""
|
|
613
|
+
if not isinstance(conversation_mode, CobuildConversationMode):
|
|
614
|
+
raise ValueError("conversation_mode must be a CobuildConversationMode, got %r" % conversation_mode)
|
|
378
615
|
if selected_objects is not None:
|
|
379
616
|
self._selected_objects = _DSS_objects_to_selected(self.project_key, selected_objects)
|
|
380
617
|
|
|
381
|
-
self._messages.append(CobuildUserMessage({
|
|
618
|
+
self._messages.append(CobuildUserMessage({
|
|
619
|
+
"type": "request",
|
|
620
|
+
"message": message,
|
|
621
|
+
"selected_objects": self._selected_objects,
|
|
622
|
+
"conversation_mode": conversation_mode.value,
|
|
623
|
+
}))
|
|
382
624
|
raw = self.client._perform_json(
|
|
383
625
|
"POST",
|
|
384
626
|
"/projects/%s/cobuild/conversations/%s/messages" % (self.project_key, self.conversation_id),
|
|
@@ -386,6 +628,44 @@ class DSSCobuildConversation(object):
|
|
|
386
628
|
"message": message,
|
|
387
629
|
"selectedObjects": self._selected_objects or [],
|
|
388
630
|
"allowEditProject": allow_edit_project,
|
|
631
|
+
"allowEditManagedFolderContents": allow_edit_managed_folder_contents or [],
|
|
632
|
+
"conversationMode": conversation_mode.value,
|
|
633
|
+
"intelligenceLevel": intelligence_level,
|
|
634
|
+
},
|
|
635
|
+
)
|
|
636
|
+
response = CobuildAssistantResponse(raw)
|
|
637
|
+
self._pending_confirmation_id = raw["confirmationId"] if response.is_confirmation_request else None
|
|
638
|
+
self._pending_question_id = raw["questionId"] if response.is_question_request else None
|
|
639
|
+
self._messages.append(response)
|
|
640
|
+
return response
|
|
641
|
+
|
|
642
|
+
def approve_plan(self, allow_edit_project=False, intelligence_level=None, allow_edit_managed_folder_contents=None):
|
|
643
|
+
"""
|
|
644
|
+
Approve the current draft plan, wait for its execution, and return its final response.
|
|
645
|
+
|
|
646
|
+
A plan can be approved only while it is a draft. Use :meth:`detach_plan` to remove the
|
|
647
|
+
active plan before returning to plan mode.
|
|
648
|
+
|
|
649
|
+
:param bool allow_edit_project: whether to allow Cobuild to create and edit everything
|
|
650
|
+
needed in this project to execute the plan. This permission applies only to this
|
|
651
|
+
Cobuild turn. If Cobuild comes back with a message without the plan being fully
|
|
652
|
+
executed (e.g. after hitting a blocker), the same parameter should be passed on the
|
|
653
|
+
next turn to retain this behavior.
|
|
654
|
+
:param list[str] allow_edit_managed_folder_contents: list of managed folder ids in which Cobuild is allowed to write, modify or delete files
|
|
655
|
+
permission applies to the next turn, as it does for allow_edit_project
|
|
656
|
+
:param str intelligence_level: optional intelligence level: ``"LIGHT"``, ``"MEDIUM"``,
|
|
657
|
+
``"HIGH"``, or ``"VERY_HIGH"``. ``None`` defaults to ``"MEDIUM"``.
|
|
658
|
+
|
|
659
|
+
:returns: the final assistant response from plan execution
|
|
660
|
+
:rtype: :class:`CobuildAssistantResponse`
|
|
661
|
+
"""
|
|
662
|
+
raw = self.client._perform_json(
|
|
663
|
+
"POST",
|
|
664
|
+
"/projects/%s/cobuild/conversations/%s/plan/approve" % (self.project_key, self.conversation_id),
|
|
665
|
+
body={
|
|
666
|
+
"allowEditProject": allow_edit_project,
|
|
667
|
+
"allowEditManagedFolderContents": allow_edit_managed_folder_contents or [],
|
|
668
|
+
"intelligenceLevel": intelligence_level,
|
|
389
669
|
},
|
|
390
670
|
)
|
|
391
671
|
response = CobuildAssistantResponse(raw)
|
|
@@ -394,6 +674,18 @@ class DSSCobuildConversation(object):
|
|
|
394
674
|
self._messages.append(response)
|
|
395
675
|
return response
|
|
396
676
|
|
|
677
|
+
def detach_plan(self):
|
|
678
|
+
"""
|
|
679
|
+
Detach the current draft/active/completed plan and return the conversation to build mode.
|
|
680
|
+
|
|
681
|
+
Call this before leaving plan mode with a draft, or before entering plan mode while an
|
|
682
|
+
active plan is attached to the conversation.
|
|
683
|
+
"""
|
|
684
|
+
return self.client._perform_empty(
|
|
685
|
+
"POST",
|
|
686
|
+
"/projects/%s/cobuild/conversations/%s/plan/discard" % (self.project_key, self.conversation_id),
|
|
687
|
+
)
|
|
688
|
+
|
|
397
689
|
def answer_confirmation(self, choice, options=None):
|
|
398
690
|
"""
|
|
399
691
|
Answer a pending confirmation request and wait for the assistant's next response.
|
|
@@ -435,7 +727,7 @@ class DSSCobuildConversation(object):
|
|
|
435
727
|
self._messages.append(response)
|
|
436
728
|
return response
|
|
437
729
|
|
|
438
|
-
def answer_question(self, answers=None, rejected=False, used_custom_answer=False):
|
|
730
|
+
def answer_question(self, answers=None, rejected=False, used_custom_answer=False, selected_objects=None):
|
|
439
731
|
"""
|
|
440
732
|
Answer a pending question request and wait for the assistant's next response.
|
|
441
733
|
|
|
@@ -448,6 +740,9 @@ class DSSCobuildConversation(object):
|
|
|
448
740
|
``rejected=True``. Defaults to ``[]``.
|
|
449
741
|
:param bool rejected: whether to decline answering the question
|
|
450
742
|
:param bool used_custom_answer: whether one of the answers came from the custom free-text input
|
|
743
|
+
:param selected_objects: object selection the assistant should focus on. It is reused for
|
|
744
|
+
subsequent messages and question answers, unless overwritten
|
|
745
|
+
:type selected_objects: list[:class:`.DSSDataset`, :class:`.DSSRecipe`, :class:`.DSSLabelingTask`, :class:`.DSSManagedFolder`, :class:`.DSSSavedModel`, :class:`.DSSKnowledgeBank`, :class:`.DSSModelEvaluationStore` or :class:`.DSSStreamingEndpoint`]
|
|
451
746
|
|
|
452
747
|
:returns: the assistant's response after the question answer
|
|
453
748
|
:rtype: :class:`CobuildAssistantResponse`
|
|
@@ -458,6 +753,8 @@ class DSSCobuildConversation(object):
|
|
|
458
753
|
raise ValueError("answers must be a list of strings")
|
|
459
754
|
if self._pending_question_id is None:
|
|
460
755
|
raise ValueError("No pending question request. Call send_message first and check is_question_request.")
|
|
756
|
+
if selected_objects is not None:
|
|
757
|
+
self._selected_objects = _DSS_objects_to_selected(self.project_key, selected_objects)
|
|
461
758
|
|
|
462
759
|
question_id = self._pending_question_id
|
|
463
760
|
self._pending_question_id = None
|
|
@@ -472,6 +769,7 @@ class DSSCobuildConversation(object):
|
|
|
472
769
|
"rejected": rejected,
|
|
473
770
|
"answers": answers,
|
|
474
771
|
"usedCustomAnswer": used_custom_answer,
|
|
772
|
+
"selectedObjects": self._selected_objects or [],
|
|
475
773
|
},
|
|
476
774
|
)
|
|
477
775
|
response = CobuildAssistantResponse(raw)
|