Skip to content

Commit d9970c6

Browse files
authored
Merge pull request #318 from oracle/release_2024-09-17
Releasing version 2.94.0
2 parents 1d8173a + e37bf44 commit d9970c6

File tree

266 files changed

+3891
-294
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

266 files changed

+3891
-294
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,18 @@
33
All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](http://keepachangelog.com/).
6+
## 2.94.0 - 2024-09-17
7+
### Added
8+
- Support for calling Oracle Cloud Infrastructure services in the eu-crissier-1 region
9+
- Support for dedicated AI cluster unit shapes in the Generative AI service
10+
- Support for ticket numbers when creating access requests in the Managed Access service
11+
- Support for 23ai database, cloud VM clusters and VM cluster patching in the Exadata Fleet Update service
12+
- Support for text to speech feature in the AI Speech service
13+
- Support for notifications and transfer of capacity requests in the OCI Control Center service
14+
15+
### Breaking Changes
16+
- The field `occCustomerGroupId` was made mandatory in the models `ListInternalNamespaceOccOverviewsRequest`, `ListOccAvailabilityCatalogsInternalRequest`, and `ListOccCapacityRequestsInternalRequest` in the OCI Control Center service
17+
618
## 2.93.0 - 2024-08-27
719
### Added
820
- Support for Delegate Access Control service

lib/accessgovernancecp/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "oci-accessgovernancecp",
3-
"version": "2.93.0",
3+
"version": "2.94.0",
44
"description": "OCI NodeJS client for Access Governance Cp Service",
55
"repository": {
66
"type": "git",

lib/adm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "oci-adm",
3-
"version": "2.93.0",
3+
"version": "2.94.0",
44
"description": "OCI NodeJS client for Adm Service",
55
"repository": {
66
"type": "git",

lib/aianomalydetection/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "oci-aianomalydetection",
3-
"version": "2.93.0",
3+
"version": "2.94.0",
44
"description": "OCI NodeJS client for Ai Anomaly Detection Service",
55
"repository": {
66
"type": "git",

lib/aidocument/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "oci-aidocument",
3-
"version": "2.93.0",
3+
"version": "2.94.0",
44
"description": "OCI NodeJS client for Ai Document Service",
55
"repository": {
66
"type": "git",

lib/ailanguage/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "oci-ailanguage",
3-
"version": "2.93.0",
3+
"version": "2.94.0",
44
"description": "OCI NodeJS client for Ai Language Service",
55
"repository": {
66
"type": "git",

lib/aispeech/lib/client.ts

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1404,6 +1404,155 @@ export class AIServiceSpeechClient {
14041404
}
14051405
}
14061406

1407+
/**
1408+
* Returns a list of speakers available to the user to choose from based on language code and voice type provided.
1409+
*
1410+
* This operation does not retry by default if the user has not defined a retry configuration.
1411+
* @param ListVoicesRequest
1412+
* @return ListVoicesResponse
1413+
* @throws OciError when an error occurs
1414+
* @example Click {@link https://docs.cloud.oracle.com/en-us/iaas/tools/typescript-sdk-examples/latest/aispeech/ListVoices.ts.html |here} to see how to use ListVoices API.
1415+
*/
1416+
public async listVoices(
1417+
listVoicesRequest: requests.ListVoicesRequest
1418+
): Promise<responses.ListVoicesResponse> {
1419+
if (this.logger) this.logger.debug("Calling operation AIServiceSpeechClient#listVoices.");
1420+
const operationName = "listVoices";
1421+
const apiReferenceLink =
1422+
"https://docs.oracle.com/iaas/api/#/en/speech/20220101/Voice/ListVoices";
1423+
const pathParams = {};
1424+
1425+
const queryParams = {
1426+
"compartmentId": listVoicesRequest.compartmentId,
1427+
"modelName": listVoicesRequest.modelName,
1428+
"displayName": listVoicesRequest.displayName
1429+
};
1430+
1431+
let headerParams = {
1432+
"Content-Type": common.Constants.APPLICATION_JSON,
1433+
"opc-request-id": listVoicesRequest.opcRequestId
1434+
};
1435+
1436+
const specRetryConfiguration = common.NoRetryConfigurationDetails;
1437+
const retrier = GenericRetrier.createPreferredRetrier(
1438+
this._clientConfiguration ? this._clientConfiguration.retryConfiguration : undefined,
1439+
listVoicesRequest.retryConfiguration,
1440+
specRetryConfiguration
1441+
);
1442+
if (this.logger) retrier.logger = this.logger;
1443+
const request = await composeRequest({
1444+
baseEndpoint: this._endpoint,
1445+
defaultHeaders: this._defaultHeaders,
1446+
path: "/voices",
1447+
method: "GET",
1448+
pathParams: pathParams,
1449+
headerParams: headerParams,
1450+
queryParams: queryParams
1451+
});
1452+
try {
1453+
const response = await retrier.makeServiceCall(
1454+
this._httpClient,
1455+
request,
1456+
this.targetService,
1457+
operationName,
1458+
apiReferenceLink
1459+
);
1460+
const sdkResponse = composeResponse({
1461+
responseObject: <responses.ListVoicesResponse>{},
1462+
body: await response.json(),
1463+
bodyKey: "voiceCollection",
1464+
bodyModel: model.VoiceCollection,
1465+
type: "model.VoiceCollection",
1466+
responseHeaders: [
1467+
{
1468+
value: response.headers.get("opc-request-id"),
1469+
key: "opcRequestId",
1470+
dataType: "string"
1471+
}
1472+
]
1473+
});
1474+
1475+
return sdkResponse;
1476+
} catch (err) {
1477+
throw err;
1478+
}
1479+
}
1480+
1481+
/**
1482+
* Creates an audio for the given input text based on other input parameters like language, voice type, etc.
1483+
*
1484+
* This operation does not retry by default if the user has not defined a retry configuration.
1485+
* @param SynthesizeSpeechRequest
1486+
* @return SynthesizeSpeechResponse
1487+
* @throws OciError when an error occurs
1488+
* @example Click {@link https://docs.cloud.oracle.com/en-us/iaas/tools/typescript-sdk-examples/latest/aispeech/SynthesizeSpeech.ts.html |here} to see how to use SynthesizeSpeech API.
1489+
*/
1490+
public async synthesizeSpeech(
1491+
synthesizeSpeechRequest: requests.SynthesizeSpeechRequest
1492+
): Promise<responses.SynthesizeSpeechResponse> {
1493+
if (this.logger) this.logger.debug("Calling operation AIServiceSpeechClient#synthesizeSpeech.");
1494+
const operationName = "synthesizeSpeech";
1495+
const apiReferenceLink =
1496+
"https://docs.oracle.com/iaas/api/#/en/speech/20220101/SynthesizeSpeech/SynthesizeSpeech";
1497+
const pathParams = {};
1498+
1499+
const queryParams = {};
1500+
1501+
let headerParams = {
1502+
"Content-Type": common.Constants.APPLICATION_JSON,
1503+
"opc-request-id": synthesizeSpeechRequest.opcRequestId
1504+
};
1505+
1506+
const specRetryConfiguration = common.NoRetryConfigurationDetails;
1507+
const retrier = GenericRetrier.createPreferredRetrier(
1508+
this._clientConfiguration ? this._clientConfiguration.retryConfiguration : undefined,
1509+
synthesizeSpeechRequest.retryConfiguration,
1510+
specRetryConfiguration
1511+
);
1512+
if (this.logger) retrier.logger = this.logger;
1513+
const request = await composeRequest({
1514+
baseEndpoint: this._endpoint,
1515+
defaultHeaders: this._defaultHeaders,
1516+
path: "/actions/synthesizeSpeech",
1517+
method: "POST",
1518+
bodyContent: common.ObjectSerializer.serialize(
1519+
synthesizeSpeechRequest.synthesizeSpeechDetails,
1520+
"SynthesizeSpeechDetails",
1521+
model.SynthesizeSpeechDetails.getJsonObj
1522+
),
1523+
pathParams: pathParams,
1524+
headerParams: headerParams,
1525+
queryParams: queryParams
1526+
});
1527+
try {
1528+
const response = await retrier.makeServiceCall(
1529+
this._httpClient,
1530+
request,
1531+
this.targetService,
1532+
operationName,
1533+
apiReferenceLink
1534+
);
1535+
const sdkResponse = composeResponse({
1536+
responseObject: <responses.SynthesizeSpeechResponse>{},
1537+
1538+
body: response.body!,
1539+
bodyKey: "value",
1540+
bodyModel: "string",
1541+
responseHeaders: [
1542+
{
1543+
value: response.headers.get("opc-request-id"),
1544+
key: "opcRequestId",
1545+
dataType: "string"
1546+
}
1547+
]
1548+
});
1549+
1550+
return sdkResponse;
1551+
} catch (err) {
1552+
throw err;
1553+
}
1554+
}
1555+
14071556
/**
14081557
* Updates a Customization by identifier
14091558
* This operation does not retry by default if the user has not defined a retry configuration.

lib/aispeech/lib/model/index.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ import * as RealtimeSessionToken from "./realtime-session-token";
7575
export import RealtimeSessionToken = RealtimeSessionToken.RealtimeSessionToken;
7676
import * as SortOrder from "./sort-order";
7777
export import SortOrder = SortOrder.SortOrder;
78+
import * as SynthesizeSpeechDetails from "./synthesize-speech-details";
79+
export import SynthesizeSpeechDetails = SynthesizeSpeechDetails.SynthesizeSpeechDetails;
7880
import * as TranscriptionFilter from "./transcription-filter";
7981
export import TranscriptionFilter = TranscriptionFilter.TranscriptionFilter;
8082
import * as TranscriptionJob from "./transcription-job";
@@ -95,10 +97,22 @@ import * as TranscriptionTaskCollection from "./transcription-task-collection";
9597
export import TranscriptionTaskCollection = TranscriptionTaskCollection.TranscriptionTaskCollection;
9698
import * as TranscriptionTaskSummary from "./transcription-task-summary";
9799
export import TranscriptionTaskSummary = TranscriptionTaskSummary.TranscriptionTaskSummary;
100+
import * as TtsAudioConfig from "./tts-audio-config";
101+
export import TtsAudioConfig = TtsAudioConfig.TtsAudioConfig;
102+
import * as TtsConfiguration from "./tts-configuration";
103+
export import TtsConfiguration = TtsConfiguration.TtsConfiguration;
104+
import * as TtsOracleModelDetails from "./tts-oracle-model-details";
105+
export import TtsOracleModelDetails = TtsOracleModelDetails.TtsOracleModelDetails;
106+
import * as TtsOracleSpeechSettings from "./tts-oracle-speech-settings";
107+
export import TtsOracleSpeechSettings = TtsOracleSpeechSettings.TtsOracleSpeechSettings;
98108
import * as UpdateCustomizationDetails from "./update-customization-details";
99109
export import UpdateCustomizationDetails = UpdateCustomizationDetails.UpdateCustomizationDetails;
100110
import * as UpdateTranscriptionJobDetails from "./update-transcription-job-details";
101111
export import UpdateTranscriptionJobDetails = UpdateTranscriptionJobDetails.UpdateTranscriptionJobDetails;
112+
import * as VoiceCollection from "./voice-collection";
113+
export import VoiceCollection = VoiceCollection.VoiceCollection;
114+
import * as VoiceSummary from "./voice-summary";
115+
export import VoiceSummary = VoiceSummary.VoiceSummary;
102116

103117
import * as EntityListDataset from "./entity-list-dataset";
104118
export import EntityListDataset = EntityListDataset.EntityListDataset;
@@ -126,3 +140,11 @@ import * as RealtimeMessageResult from "./realtime-message-result";
126140
export import RealtimeMessageResult = RealtimeMessageResult.RealtimeMessageResult;
127141
import * as RealtimeMessageSendFinalResult from "./realtime-message-send-final-result";
128142
export import RealtimeMessageSendFinalResult = RealtimeMessageSendFinalResult.RealtimeMessageSendFinalResult;
143+
import * as TtsBaseAudioConfig from "./tts-base-audio-config";
144+
export import TtsBaseAudioConfig = TtsBaseAudioConfig.TtsBaseAudioConfig;
145+
import * as TtsOracleConfiguration from "./tts-oracle-configuration";
146+
export import TtsOracleConfiguration = TtsOracleConfiguration.TtsOracleConfiguration;
147+
import * as TtsOracleTts1StandardModelDetails from "./tts-oracle-tts1-standard-model-details";
148+
export import TtsOracleTts1StandardModelDetails = TtsOracleTts1StandardModelDetails.TtsOracleTts1StandardModelDetails;
149+
import * as TtsOracleTts2NaturalModelDetails from "./tts-oracle-tts2-natural-model-details";
150+
export import TtsOracleTts2NaturalModelDetails = TtsOracleTts2NaturalModelDetails.TtsOracleTts2NaturalModelDetails;
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
/**
2+
* Speech API
3+
* The OCI Speech Service harnesses the power of spoken language by allowing developers to easily convert file-based data containing human speech into highly accurate text transcriptions.
4+
* OpenAPI spec version: 20220101
5+
*
6+
*
7+
* NOTE: This class is auto generated by OracleSDKGenerator.
8+
* Do not edit the class manually.
9+
*
10+
* Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
11+
* This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
12+
*/
13+
14+
import * as model from "../model";
15+
import common = require("oci-common");
16+
17+
/**
18+
* Input JSON to get audio inference from TTS Service.
19+
*/
20+
export interface SynthesizeSpeechDetails {
21+
/**
22+
* The text input to get the inference audio from TTS Service.
23+
*/
24+
"text": string;
25+
/**
26+
* If set to true, response will be sent in the chunked transfer-encoding and audio chunks
27+
* are sent back as and when they are ready. If set to false, response will be sent only once
28+
* the entire audio is generated.
29+
*
30+
*/
31+
"isStreamEnabled"?: boolean;
32+
/**
33+
* The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where the user has access to call {@code SpeechSynthesize} api. But default user access will be checked at tenancy level.
34+
*/
35+
"compartmentId"?: string;
36+
"configuration"?: model.TtsOracleConfiguration;
37+
"audioConfig"?: model.TtsBaseAudioConfig;
38+
}
39+
40+
export namespace SynthesizeSpeechDetails {
41+
export function getJsonObj(obj: SynthesizeSpeechDetails): object {
42+
const jsonObj = {
43+
...obj,
44+
...{
45+
"configuration": obj.configuration
46+
? model.TtsConfiguration.getJsonObj(obj.configuration)
47+
: undefined,
48+
"audioConfig": obj.audioConfig
49+
? model.TtsAudioConfig.getJsonObj(obj.audioConfig)
50+
: undefined
51+
}
52+
};
53+
54+
return jsonObj;
55+
}
56+
export function getDeserializedJsonObj(obj: SynthesizeSpeechDetails): object {
57+
const jsonObj = {
58+
...obj,
59+
...{
60+
"configuration": obj.configuration
61+
? model.TtsConfiguration.getDeserializedJsonObj(obj.configuration)
62+
: undefined,
63+
"audioConfig": obj.audioConfig
64+
? model.TtsAudioConfig.getDeserializedJsonObj(obj.audioConfig)
65+
: undefined
66+
}
67+
};
68+
69+
return jsonObj;
70+
}
71+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/**
2+
* Speech API
3+
* The OCI Speech Service harnesses the power of spoken language by allowing developers to easily convert file-based data containing human speech into highly accurate text transcriptions.
4+
* OpenAPI spec version: 20220101
5+
*
6+
*
7+
* NOTE: This class is auto generated by OracleSDKGenerator.
8+
* Do not edit the class manually.
9+
*
10+
* Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
11+
* This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
12+
*/
13+
14+
import * as model from "../model";
15+
import common = require("oci-common");
16+
17+
/**
18+
* Use this schema to specify handling of audio response.
19+
* If audioConfig is not provided, raw response is handed over for the user to handle.
20+
*
21+
*/
22+
export interface TtsAudioConfig {
23+
"configType": string;
24+
}
25+
26+
export namespace TtsAudioConfig {
27+
export function getJsonObj(obj: TtsAudioConfig): object {
28+
const jsonObj = { ...obj, ...{} };
29+
30+
if (obj && "configType" in obj && obj.configType) {
31+
switch (obj.configType) {
32+
case "BASE_AUDIO_CONFIG":
33+
return model.TtsBaseAudioConfig.getJsonObj(
34+
<model.TtsBaseAudioConfig>(<object>jsonObj),
35+
true
36+
);
37+
default:
38+
if (common.LOG.logger) common.LOG.logger.info(`Unknown value for: ${obj.configType}`);
39+
}
40+
}
41+
return jsonObj;
42+
}
43+
export function getDeserializedJsonObj(obj: TtsAudioConfig): object {
44+
const jsonObj = { ...obj, ...{} };
45+
46+
if (obj && "configType" in obj && obj.configType) {
47+
switch (obj.configType) {
48+
case "BASE_AUDIO_CONFIG":
49+
return model.TtsBaseAudioConfig.getDeserializedJsonObj(
50+
<model.TtsBaseAudioConfig>(<object>jsonObj),
51+
true
52+
);
53+
default:
54+
if (common.LOG.logger) common.LOG.logger.info(`Unknown value for: ${obj.configType}`);
55+
}
56+
}
57+
return jsonObj;
58+
}
59+
}

0 commit comments

Comments
 (0)