Skip to content

Commit d23fba8

Browse files
Releasing version 3.54.0
Releasing version 3.54.0
2 parents 23bc17d + 6ab3e24 commit d23fba8

File tree

13 files changed

+2672
-448
lines changed

13 files changed

+2672
-448
lines changed

CHANGELOG.rst

+80
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,86 @@ All notable changes to this project will be documented in this file.
66

77
The format is based on `Keep a Changelog <http://keepachangelog.com/>`__.
88

9+
3.54.0 - 2025-03-25
10+
--------------------
11+
Added
12+
~~~~~
13+
* Compute Service
14+
15+
* Support for Host API feature in Compute service
16+
17+
* ``oci compute compute-host change-compartment``
18+
* ``oci compute compute-host get``
19+
* ``oci compute compute-host list``
20+
* ``oci compute compute-host update``
21+
22+
* Stack Monitoring Service
23+
24+
* Support for a new Stack Monitoring configuration, enabling the automatic activation of the Management Agent on Compute instance launch
25+
26+
* ``oci stack-monitoring config create-compute-auto-activate-plugin-config``
27+
* ``oci stack-monitoring config update-compute-auto-activate-plugin-config``
28+
29+
* Support for importing telegraf/collectd resources
30+
31+
* ``oci stack-monitoring resource-task update-agent-receiver --handler-type, --is-enable, --agent-id, --compartment-id, --receiver-properties``
32+
33+
* Support for updating the handler configuration for telegraf/collectd resources
34+
35+
* ``oci stack-monitoring resource-task update-resource-type-configs --handler-type, --compartment-id, --resource-types-config``
36+
37+
* Support search monitored resource types based on source type and resource category
38+
39+
* ``oci stack-monitoring resource-type list --resource-category, --source-type``
40+
41+
* Support for adding Tags in Stack Monitoring Maintenance Window resource
42+
43+
* ``oci stack-monitoring maintenance-window create --defined-tags, --freeform-tags``
44+
* ``oci stack-monitoring maintenance-window update --defined-tags, --freeform-tags``
45+
46+
* Generative AI Agent service
47+
48+
* Support for tools
49+
50+
* ``oci generative-ai-agent tool create``
51+
* ``oci generative-ai-agent tool create-tool-function-calling-tool-config``
52+
* ``oci generative-ai-agent tool create-tool-http-endpoint-tool-config``
53+
* ``oci generative-ai-agent tool create-tool-rag-tool-config``
54+
* ``oci generative-ai-agent tool create-tool-sql-tool-config``
55+
* ``oci generative-ai-agent tool delete``
56+
* ``oci generative-ai-agent tool get``
57+
* ``oci generative-ai-agent tool list``
58+
* ``oci generative-ai-agent tool update``
59+
* ``oci generative-ai-agent tool update-tool-function-calling-tool-config``
60+
* ``oci generative-ai-agent tool update-tool-http-endpoint-tool-config``
61+
* ``oci generative-ai-agent tool update-tool-rag-tool-config``
62+
63+
* Support for metadata in data-source
64+
65+
* ``oci generative-ai-agent data-source update --metadata``
66+
* ``oci generative-ai-agent data-source update-object-storage-ds --metadata``
67+
68+
* Generative AI Agent Runtime service
69+
70+
* Support for knowledge-base-metadata-summary
71+
72+
* ``oci generative-ai-agent-runtime knowledge-base-metadata-summary retrieve-metadata``
73+
74+
Changed
75+
~~~~~~~
76+
* Delegate Access Control service
77+
78+
* [BREAKING] Command to create worklog request has been renamed
79+
80+
* ``oci delegate-access-control work-request work-request-log-entry list-work-request-logs`` renamed to ``oci delegate-access-control work-request work-request-log list``
81+
82+
83+
* Oracle Cloud VMware Solution service
84+
85+
* [BREAKING] Parameter list-error has been renamed to list
86+
87+
* ``oci ocvs work-request-error list-errors`` renamed to ``oci ocvs work-request-error list``
88+
989
3.53.0 - 2025-03-18
1090
--------------------
1191
Added

requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Jinja2<3.1; python_version >= '3.7'
1515
jmespath==0.10.0
1616
ndg-httpsclient==0.4.2
1717
mock==2.0.0
18-
oci==2.149.0
18+
oci==2.149.1
1919
packaging==20.2
2020
pluggy==0.13.0
2121
py==1.11.0

services/core/src/oci_cli_compute/generated/compute_cli.py

+263
Large diffs are not rendered by default.

services/generative_ai_agent/src/oci_cli_generative_ai_agent/generated/generativeaiagent_cli.py

+1,536-376
Large diffs are not rendered by default.

services/generative_ai_agent/tests/util/generated/command_to_api.py

+5
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,33 @@
1111
"generative_ai_agent.create_data_ingestion_job": "oci.generative_ai_agent.GenerativeAiAgentClient.create_data_ingestion_job",
1212
"generative_ai_agent.create_data_source": "oci.generative_ai_agent.GenerativeAiAgentClient.create_data_source",
1313
"generative_ai_agent.create_knowledge_base": "oci.generative_ai_agent.GenerativeAiAgentClient.create_knowledge_base",
14+
"generative_ai_agent.create_tool": "oci.generative_ai_agent.GenerativeAiAgentClient.create_tool",
1415
"generative_ai_agent.delete_agent": "oci.generative_ai_agent.GenerativeAiAgentClient.delete_agent",
1516
"generative_ai_agent.delete_agent_endpoint": "oci.generative_ai_agent.GenerativeAiAgentClient.delete_agent_endpoint",
1617
"generative_ai_agent.delete_data_ingestion_job": "oci.generative_ai_agent.GenerativeAiAgentClient.delete_data_ingestion_job",
1718
"generative_ai_agent.delete_data_source": "oci.generative_ai_agent.GenerativeAiAgentClient.delete_data_source",
1819
"generative_ai_agent.delete_knowledge_base": "oci.generative_ai_agent.GenerativeAiAgentClient.delete_knowledge_base",
20+
"generative_ai_agent.delete_tool": "oci.generative_ai_agent.GenerativeAiAgentClient.delete_tool",
1921
"generative_ai_agent.get_agent": "oci.generative_ai_agent.GenerativeAiAgentClient.get_agent",
2022
"generative_ai_agent.get_agent_endpoint": "oci.generative_ai_agent.GenerativeAiAgentClient.get_agent_endpoint",
2123
"generative_ai_agent.get_data_ingestion_job": "oci.generative_ai_agent.GenerativeAiAgentClient.get_data_ingestion_job",
2224
"generative_ai_agent.get_data_ingestion_job_log_content": "oci.generative_ai_agent.GenerativeAiAgentClient.get_data_ingestion_job_log_content",
2325
"generative_ai_agent.get_data_source": "oci.generative_ai_agent.GenerativeAiAgentClient.get_data_source",
2426
"generative_ai_agent.get_knowledge_base": "oci.generative_ai_agent.GenerativeAiAgentClient.get_knowledge_base",
27+
"generative_ai_agent.get_tool": "oci.generative_ai_agent.GenerativeAiAgentClient.get_tool",
2528
"generative_ai_agent.get_work_request": "oci.generative_ai_agent.GenerativeAiAgentClient.get_work_request",
2629
"generative_ai_agent.list_agent_endpoints": "oci.generative_ai_agent.GenerativeAiAgentClient.list_agent_endpoints",
2730
"generative_ai_agent.list_agents": "oci.generative_ai_agent.GenerativeAiAgentClient.list_agents",
2831
"generative_ai_agent.list_data_ingestion_jobs": "oci.generative_ai_agent.GenerativeAiAgentClient.list_data_ingestion_jobs",
2932
"generative_ai_agent.list_data_sources": "oci.generative_ai_agent.GenerativeAiAgentClient.list_data_sources",
3033
"generative_ai_agent.list_knowledge_bases": "oci.generative_ai_agent.GenerativeAiAgentClient.list_knowledge_bases",
34+
"generative_ai_agent.list_tools": "oci.generative_ai_agent.GenerativeAiAgentClient.list_tools",
3135
"generative_ai_agent.list_work_request_errors": "oci.generative_ai_agent.GenerativeAiAgentClient.list_work_request_errors",
3236
"generative_ai_agent.list_work_request_logs": "oci.generative_ai_agent.GenerativeAiAgentClient.list_work_request_logs",
3337
"generative_ai_agent.list_work_requests": "oci.generative_ai_agent.GenerativeAiAgentClient.list_work_requests",
3438
"generative_ai_agent.update_agent": "oci.generative_ai_agent.GenerativeAiAgentClient.update_agent",
3539
"generative_ai_agent.update_agent_endpoint": "oci.generative_ai_agent.GenerativeAiAgentClient.update_agent_endpoint",
3640
"generative_ai_agent.update_data_source": "oci.generative_ai_agent.GenerativeAiAgentClient.update_data_source",
3741
"generative_ai_agent.update_knowledge_base": "oci.generative_ai_agent.GenerativeAiAgentClient.update_knowledge_base",
42+
"generative_ai_agent.update_tool": "oci.generative_ai_agent.GenerativeAiAgentClient.update_tool",
3843
}

services/generative_ai_agent_runtime/src/oci_cli_generative_ai_agent_runtime/generated/generativeaiagentruntime_cli.py

+59-5
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ def generative_ai_agent_runtime_root_group():
3030
pass
3131

3232

33+
@click.command(cli_util.override('generative_ai_agent_runtime.knowledge_base_metadata_summary_group.command_name', 'knowledge-base-metadata-summary'), cls=CommandGroupWithAlias, help="""Represents metadata about a field including its name, type, supported operations, and possible values.""")
34+
@cli_util.help_option_group
35+
def knowledge_base_metadata_summary_group():
36+
pass
37+
38+
3339
@click.command(cli_util.override('generative_ai_agent_runtime.session_group.command_name', 'session'), cls=CommandGroupWithAlias, help="""A session represents an interactive conversation initiated by a user through an API to engage with an agent. It involves a series of exchanges where the user sends queries or prompts, and the agent responds with relevant information, actions, or assistance based on the user's input. The session persists for the duration of the interaction, maintaining context and continuity to provide coherent and meaningful responses throughout the conversation.""")
3440
@cli_util.help_option_group
3541
def session_group():
@@ -42,22 +48,27 @@ def agent_endpoint_group():
4248
pass
4349

4450

51+
generative_ai_agent_runtime_root_group.add_command(knowledge_base_metadata_summary_group)
4552
generative_ai_agent_runtime_root_group.add_command(session_group)
4653
generative_ai_agent_runtime_root_group.add_command(agent_endpoint_group)
4754

4855

4956
@agent_endpoint_group.command(name=cli_util.override('generative_ai_agent_runtime.chat.command_name', 'chat'), help=u"""Chat on endpoint with provided messages. \n[Command Reference](chat)""")
5057
@cli_util.option('--agent-endpoint-id', required=True, help=u"""A unique ID for the endpoint.""")
51-
@cli_util.option('--user-message', required=True, help=u"""The input user message content for the chat.""")
58+
@cli_util.option('--user-message', help=u"""The input user message content for the chat.""")
5259
@cli_util.option('--should-stream', type=click.BOOL, help=u"""Whether to stream the response.""")
5360
@cli_util.option('--session-id', help=u"""Optional sessionId. If not provided, will chat without any prior context.""")
61+
@cli_util.option('--tool-parameters', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A map where each key is a toolId and the value contains tool type and additional dynamic parameters.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
62+
@cli_util.option('--performed-actions', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of actions that have been performed based on prior required actions.
63+
64+
This option is a JSON list with items of type PerformedAction. For documentation on PerformedAction please see our API reference: https://docs.cloud.oracle.com/api/#/en/generativeaiagentruntime/20240531/datatypes/PerformedAction.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
5465
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
55-
@json_skeleton_utils.get_cli_json_input_option({})
66+
@json_skeleton_utils.get_cli_json_input_option({'tool-parameters': {'module': 'generative_ai_agent_runtime', 'class': 'dict(str, string)'}, 'performed-actions': {'module': 'generative_ai_agent_runtime', 'class': 'list[PerformedAction]'}})
5667
@cli_util.help_option
5768
@click.pass_context
58-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'generative_ai_agent_runtime', 'class': 'ChatResult'})
69+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'tool-parameters': {'module': 'generative_ai_agent_runtime', 'class': 'dict(str, string)'}, 'performed-actions': {'module': 'generative_ai_agent_runtime', 'class': 'list[PerformedAction]'}}, output_type={'module': 'generative_ai_agent_runtime', 'class': 'ChatResult'})
5970
@cli_util.wrap_exceptions
60-
def chat(ctx, from_json, agent_endpoint_id, user_message, should_stream, session_id, if_match):
71+
def chat(ctx, from_json, agent_endpoint_id, user_message, should_stream, session_id, tool_parameters, performed_actions, if_match):
6172

6273
if isinstance(agent_endpoint_id, six.string_types) and len(agent_endpoint_id.strip()) == 0:
6374
raise click.UsageError('Parameter --agent-endpoint-id cannot be whitespace or empty string')
@@ -68,14 +79,22 @@ def chat(ctx, from_json, agent_endpoint_id, user_message, should_stream, session
6879
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
6980

7081
_details = {}
71-
_details['userMessage'] = user_message
82+
83+
if user_message is not None:
84+
_details['userMessage'] = user_message
7285

7386
if should_stream is not None:
7487
_details['shouldStream'] = should_stream
7588

7689
if session_id is not None:
7790
_details['sessionId'] = session_id
7891

92+
if tool_parameters is not None:
93+
_details['toolParameters'] = cli_util.parse_json_parameter("tool_parameters", tool_parameters)
94+
95+
if performed_actions is not None:
96+
_details['performedActions'] = cli_util.parse_json_parameter("performed_actions", performed_actions)
97+
7998
client = cli_util.build_client('generative_ai_agent_runtime', 'generative_ai_agent_runtime', ctx)
8099
result = client.chat(
81100
agent_endpoint_id=agent_endpoint_id,
@@ -179,6 +198,41 @@ def get_session(ctx, from_json, agent_endpoint_id, session_id):
179198
cli_util.render_response(result, ctx)
180199

181200

201+
@knowledge_base_metadata_summary_group.command(name=cli_util.override('generative_ai_agent_runtime.retrieve_metadata.command_name', 'retrieve-metadata'), help=u"""Returns metadata of provided knowledgeBase. Return available metadata with information of field names, their types, supported operations, and possible values. \n[Command Reference](retrieveMetadata)""")
202+
@cli_util.option('--knowledge-base-id', required=True, help=u"""A unique ID for the Knowledge Base.""")
203+
@cli_util.option('--filters', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of metadata filters to narrow down the retrieved metadata
204+
205+
This option is a JSON list with items of type MetadataFilter. For documentation on MetadataFilter please see our API reference: https://docs.cloud.oracle.com/api/#/en/generativeaiagentruntime/20240531/datatypes/MetadataFilter.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
206+
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
207+
@json_skeleton_utils.get_cli_json_input_option({'filters': {'module': 'generative_ai_agent_runtime', 'class': 'list[MetadataFilter]'}})
208+
@cli_util.help_option
209+
@click.pass_context
210+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'filters': {'module': 'generative_ai_agent_runtime', 'class': 'list[MetadataFilter]'}}, output_type={'module': 'generative_ai_agent_runtime', 'class': 'list[KnowledgeBaseMetadataSummary]'})
211+
@cli_util.wrap_exceptions
212+
def retrieve_metadata(ctx, from_json, knowledge_base_id, filters, if_match):
213+
214+
if isinstance(knowledge_base_id, six.string_types) and len(knowledge_base_id.strip()) == 0:
215+
raise click.UsageError('Parameter --knowledge-base-id cannot be whitespace or empty string')
216+
217+
kwargs = {}
218+
if if_match is not None:
219+
kwargs['if_match'] = if_match
220+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
221+
222+
_details = {}
223+
224+
if filters is not None:
225+
_details['filters'] = cli_util.parse_json_parameter("filters", filters)
226+
227+
client = cli_util.build_client('generative_ai_agent_runtime', 'generative_ai_agent_runtime', ctx)
228+
result = client.retrieve_metadata(
229+
knowledge_base_id=knowledge_base_id,
230+
retrieve_metadata_details=_details,
231+
**kwargs
232+
)
233+
cli_util.render_response(result, ctx)
234+
235+
182236
@session_group.command(name=cli_util.override('generative_ai_agent_runtime.update_session.command_name', 'update'), help=u"""Update session metadata, including but not limited to description, tags. \n[Command Reference](updateSession)""")
183237
@cli_util.option('--agent-endpoint-id', required=True, help=u"""A unique ID for the endpoint.""")
184238
@cli_util.option('--session-id', required=True, help=u"""A unique ID for the session.""")

services/generative_ai_agent_runtime/tests/util/generated/command_to_api.py

+1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@
66
"generative_ai_agent_runtime.create_session": "oci.generative_ai_agent_runtime.GenerativeAiAgentRuntimeClient.create_session",
77
"generative_ai_agent_runtime.delete_session": "oci.generative_ai_agent_runtime.GenerativeAiAgentRuntimeClient.delete_session",
88
"generative_ai_agent_runtime.get_session": "oci.generative_ai_agent_runtime.GenerativeAiAgentRuntimeClient.get_session",
9+
"generative_ai_agent_runtime.retrieve_metadata": "oci.generative_ai_agent_runtime.GenerativeAiAgentRuntimeClient.retrieve_metadata",
910
"generative_ai_agent_runtime.update_session": "oci.generative_ai_agent_runtime.GenerativeAiAgentRuntimeClient.update_session",
1011
}

0 commit comments

Comments
 (0)