Skip to content

Commit b94ee7d

Browse files
Version 2.7.2 (#51)
- Removed logging that might disclose sensitive info - Fixed name of bag item disambiguateMessage event in TypeScript - Added new CMM message types and properties - Typescript bots-node-sdk did not allow creating sub-type items for DateTime bag item.
1 parent eea4ced commit b94ee7d

27 files changed

+563
-58
lines changed

RELEASE_NOTES.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Release Notes
22

3+
- [Version 2.7.2](#v272)
34
- [Version 2.7.1](#v271)
45
- [Version 2.7.0](#v270)
56
- [Version 2.6.8](#v268)
@@ -20,6 +21,17 @@
2021
- [Version 2.4.3](#v243)
2122
- [Version 2.4.2](#v242)
2223

24+
## <a name="v272">Version 2.7.2 </a>
25+
26+
### New Features
27+
- Added new CMM message types and properties
28+
29+
### Fixed Issues
30+
31+
- Removed logging that might disclose sensitive info
32+
- Fixed name of bag item disambiguateMessage event in TypeScript
33+
- Fixed issue with nested items not supported in entity item event in TypeScript
34+
2335
## <a name="v271">Version 2.7.1 </a>
2436

2537
### Fixed Issues

lib/dataquery/utils.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ async function invokeDataQueryEventHandlers(component, context) {
3131
// update row with formatted value if attribute is included in the row and has a value
3232
if (row[attributeName]) {
3333
event.properties = {'attributeValue': row[attributeName]};
34-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
3534
let returnValue = await Promise.resolve(handler(event.properties, context));
3635
if (returnValue) {
3736
row[attributeName] = returnValue
@@ -43,7 +42,6 @@ async function invokeDataQueryEventHandlers(component, context) {
4342
let metadata = context.getAttributeUISettings(attributeName);
4443
if (metadata) {
4544
event.properties = {'settings': metadata};
46-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
4745
let returnValue = await Promise.resolve(handler(event.properties, context));
4846
if (returnValue) {
4947
context.setAttributeUISettings(attributeName, returnValue);
@@ -54,7 +52,6 @@ async function invokeDataQueryEventHandlers(component, context) {
5452
let settings = context.getUISettings();
5553
if (settings) {
5654
event.properties = {'settings': settings};
57-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
5855
let returnValue = await Promise.resolve(handler(event.properties, context));
5956
if (returnValue) {
6057
context.setUISettings(returnValue);
@@ -63,21 +60,19 @@ async function invokeDataQueryEventHandlers(component, context) {
6360
} else if (handlerPath === `entity.changeResponseData`) {
6461
let data = context.getQueryResult() || [];
6562
event.properties = {'responseData': data};
66-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
6763
let returnValue = await Promise.resolve(handler(event.properties, context));
6864
if (returnValue) {
6965
context.setQueryResult(returnValue);
7066
}
7167
} else if (handlerPath === `entity.changeBotMessages`) {
7268
event.properties = {'messages': context.getRequest().candidateMessages};
73-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
7469
let returnValue = await Promise.resolve(handler(event.properties, context));
7570
if (returnValue) {
7671
context.getResponse().messages = returnValue;
7772
}
7873
}
7974
} else {
80-
logger.debug(`No handler found for event: ${handlerPath}`);
75+
logger.error(`No handler found for event: ${handlerPath}`);
8176
break;
8277
}
8378
}

lib/entity/utils.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,13 @@ async function invokeResolveEntitiesEventHandlers(component, context) {
3535
handlerPath = `entity.${eventName}`;
3636
}
3737
if (handler) {
38-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
3938
// event handlers can be async (returning a promise), but we dont want to enforce
4039
// every event handler is async, hence Promise.resolve wrapping of invocation
4140
let returnValue = await Promise.resolve(handler(event.properties || {}, context));
4241
// make sure return value is a boolean
4342
let retValue = returnValue === undefined ? true : (returnValue+''==='true')
4443
logger.debug(`${eventName} returned ${retValue}`);
4544
if (eventName==='shouldPrompt') {
46-
logger.debug(`Adding ${itemName} to shouldPrompt cache with value ${retValue}`);
4745
context._getShouldPromptCache()[itemName] = retValue;
4846
if (retValue) {
4947
// only invoke next shouldPrompt handler when current handler returned false
@@ -62,7 +60,7 @@ async function invokeResolveEntitiesEventHandlers(component, context) {
6260
}
6361
}
6462
} else {
65-
logger.debug(`No handler found for event: ${handlerPath}`);
63+
logger.error(`No handler found for event: ${handlerPath}`);
6664
break;
6765
}
6866
}

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@oracle/bots-node-sdk",
3-
"version": "2.7.1",
3+
"version": "2.7.2",
44
"description": "Oracle Digital Assistant SDK for custom component development and webhook integrations",
55
"main": "index.js",
66
"browser": "index-browser.js",

ts/lib.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export namespace Lib {
7575

7676
export type EntityItemPublishPromptMessageEvent = lib.EntityItemPublishPromptMessageEvent
7777

78-
export type EntityItemPublishDisambiguationMessageEvent = lib.EntityItemPublishDisambiguationMessageEvent
78+
export type EntityItemPublishDisambiguateMessageEvent = lib.EntityItemPublishDisambiguateMessageEvent
7979

8080
export type EntityItemMaxPromptsReachedEvent = lib.EntityItemMaxPromptsReachedEvent
8181

ts/lib/component/kinds.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,11 @@ export interface EntityEvent {
6767
}
6868

6969
export interface EntityItemEvents {
70+
items?: EntityItems;
7071
shouldPrompt?(event: EntityValidateEvent, context: EntityResolutionContext): void
7172
validate?(event: EntityItemValidateEvent, context: EntityResolutionContext): void
7273
publishPromptMessage?(event: EntityItemPublishPromptMessageEvent, context: EntityResolutionContext): void
73-
publishDisambiguationMessage?(event: EntityItemPublishDisambiguationMessageEvent, context: EntityResolutionContext): void
74+
publishDisambiguateMessage?(event: EntityItemPublishDisambiguateMessageEvent, context: EntityResolutionContext): void
7475
maxPromptsReached?(event: EntityItemMaxPromptsReachedEvent, context: EntityResolutionContext): void
7576
}
7677

@@ -139,7 +140,7 @@ export interface EntityItemPublishPromptMessageEvent extends EntityBaseEvent {
139140
promptCount: number;
140141
}
141142

142-
export interface EntityItemPublishDisambiguationMessageEvent extends EntityBaseEvent {
143+
export interface EntityItemPublishDisambiguateMessageEvent extends EntityBaseEvent {
143144
disambiguationValues: object[];
144145
}
145146

ts/lib/dataquery/utils.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ export async function invokeDataQueryEventHandlers(component: DataQueryEventHand
3434
// update row with formatted value if attribute is included in the row and has a value
3535
if (row[attributeName]) {
3636
event.properties = {'attributeValue': row[attributeName]};
37-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
3837
let returnValue = await Promise.resolve(handler(event.properties, context));
3938
if (returnValue) {
4039
row[attributeName] = returnValue
@@ -46,7 +45,6 @@ export async function invokeDataQueryEventHandlers(component: DataQueryEventHand
4645
let metadata = context.getAttributeUISettings(attributeName);
4746
if (metadata) {
4847
event.properties = {'settings': metadata};
49-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
5048
let returnValue = await Promise.resolve(handler(event.properties, context));
5149
if (returnValue) {
5250
context.setAttributeUISettings(attributeName, returnValue);
@@ -57,7 +55,6 @@ export async function invokeDataQueryEventHandlers(component: DataQueryEventHand
5755
let settings = context.getUISettings();
5856
if (settings) {
5957
event.properties = {'settings': settings};
60-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
6158
let returnValue = await Promise.resolve(handler(event.properties, context));
6259
if (returnValue) {
6360
context.setUISettings(returnValue);
@@ -66,21 +63,19 @@ export async function invokeDataQueryEventHandlers(component: DataQueryEventHand
6663
} else if (handlerPath === `entity.changeResponseData`) {
6764
let data = context.getQueryResult() || [];
6865
event.properties = {'responseData': data};
69-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
7066
let returnValue = await Promise.resolve(handler(event.properties, context));
7167
if (returnValue) {
7268
context.setQueryResult(returnValue);
7369
}
7470
} else if (handlerPath === `entity.changeBotMessages`) {
7571
event.properties = {'messages': context.getRequest().candidateMessages};
76-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
7772
let returnValue = await Promise.resolve(handler(event.properties, context));
7873
if (returnValue) {
7974
context.getResponse().messages = returnValue;
8075
}
8176
}
8277
} else {
83-
logger.debug(`No handler found for event: ${handlerPath}`);
78+
logger.error(`No handler found for event: ${handlerPath}`);
8479
break;
8580
}
8681
}

ts/lib/entity/utils.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,12 @@ export async function invokeResolveEntitiesEventHandlers(
3333
handlerPath = `entity.${eventName}`;
3434
}
3535
if (handler) {
36-
logger.debug(`Invoking event handler ${handlerPath} with event: ${JSON.stringify(event)}`);
3736
// event handlers can be async (returning a promise), but we dont want to enforce
3837
// every event handler is async, hence Promise.resolve wrapping of invocation
3938
let returnValue = await Promise.resolve(handler(event.properties || {}, context));
4039
// make sure return value is a boolean
4140
let retValue = returnValue === undefined ? true : (returnValue + '' === 'true')
42-
logger.debug(`${eventName} returned ${retValue}`);
4341
if (eventName === 'shouldPrompt') {
44-
logger.debug(`Adding ${itemName} to shouldPrompt cache with value ${retValue}`);
4542
context._getShouldPromptCache()[itemName] = retValue;
4643
if (retValue) {
4744
// only invoke next shouldPrompt handler when current handler returned false
@@ -60,7 +57,7 @@ export async function invokeResolveEntitiesEventHandlers(
6057
}
6158
}
6259
} else {
63-
logger.debug(`No handler found for event: ${handlerPath}`);
60+
logger.error(`No handler found for event: ${handlerPath}`);
6461
break;
6562
}
6663
}

ts/lib2/llmcomponent/utils.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,11 @@ export async function invokeLlmComponentHandlers(component: LlmComponentHandler,
2424
// event handlers can be async (returning a promise), but we dont want to enforce
2525
// every event handler is async, hence Promise.resolve wrapping of invocation
2626
if (eventName === `validateResponsePayload` || eventName === `validateRequestPayload`) {
27-
logger.debug(`Invoking event handler ${eventName}`);
2827
let returnValue = await Promise.resolve(handler(event.properties, context));
2928
// make sure return value is a boolean
3029
let retValue = returnValue === undefined ? true : (returnValue + '' === 'true')
31-
logger.debug(`${eventName} returned ${retValue}`);
3230
context.getResponse().valid = retValue;
3331
} else if (eventName === `changeBotMessages` ) {
34-
logger.debug(`Invoking event handler ${eventName}`);
3532
// convert json messages to message class
3633
const mf = context.getMessageFactory();
3734
let messages = event.properties.messages.map(msg => mf.messageFromJson(msg));
@@ -48,11 +45,10 @@ export async function invokeLlmComponentHandlers(component: LlmComponentHandler,
4845
let currMessages = context.getResponse().messages || [];
4946
context.getResponse().messages = currMessages.concat(messages);
5047
} else {
51-
logger.debug(`Invoking ${event.custom ? 'custom ' : ''}event handler ${eventName}`);
5248
await Promise.resolve(handler(event.properties, context));
5349
}
5450
} else {
55-
logger.debug(`No handler found for event: ${eventName}`);
51+
logger.error(`No handler found for event: ${eventName}`);
5652
}
5753
}
5854

0 commit comments

Comments
 (0)