@webex/internal-plugin-ai-assistant 3.11.0-next.10 → 3.11.0-next.12

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.
@@ -501,7 +501,7 @@ var AIAssistant = _webexCore.WebexPlugin.extend({
501
501
  contentValue: options.question
502
502
  }));
503
503
  },
504
- version: "3.11.0-next.10"
504
+ version: "3.11.0-next.12"
505
505
  });
506
506
  var _default = exports.default = AIAssistant;
507
507
  //# sourceMappingURL=ai-assistant.js.map
package/dist/utils.js CHANGED
@@ -70,9 +70,18 @@ var decryptCitedAnswer = exports.decryptCitedAnswer = /*#__PURE__*/function () {
70
70
  return decryptInPlace(data, "value.citations.".concat(index, ".name"), 'encryptionKeyUrl', webex);
71
71
  }));
72
72
  case 1:
73
+ if (!data.value.sources) {
74
+ _context3.next = 2;
75
+ break;
76
+ }
73
77
  _context3.next = 2;
74
- return decryptInPlace(data, 'value.value', 'encryptionKeyUrl', webex);
78
+ return _promise.default.all(data.value.sources.map(function (source, index) {
79
+ return decryptInPlace(data, "value.sources.".concat(index, ".name"), 'encryptionKeyUrl', webex);
80
+ }));
75
81
  case 2:
82
+ _context3.next = 3;
83
+ return decryptInPlace(data, 'value.value', 'encryptionKeyUrl', webex);
84
+ case 3:
76
85
  case "end":
77
86
  return _context3.stop();
78
87
  }
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","require","decryptInPlace","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","item","valuePath","keyPath","webex","encryptedValue","encryptionKeyUrl","decryptedValue","wrap","_context","prev","next","get","abrupt","internal","encryption","decryptText","sent","set","stop","_x","_x2","_x3","_x4","apply","arguments","decryptToolUse","exports","_ref2","_callee2","data","_context2","_x5","_x6","decryptCitedAnswer","_ref3","_callee3","_context3","value","citations","_promise","all","map","citation","index","concat","_x7","_x8","decryptScheduleMeeting","_ref4","_callee4","_data$value","_data$value$results","meetingData","_context4","results","attendees","attendee","_x9","_x0","decryptMessage","_ref5","_callee5","_context5","_x1","_x10","decryptWorkspace","_ref6","_callee6","_context6","_x11","_x12","decryptAssistantActivity","_ref7","_callee7","_context7","_x13","_x14"],"sources":["utils.ts"],"sourcesContent":["import {get, set} from 'lodash';\n\nconst decryptInPlace = async (item, valuePath, keyPath, webex) => {\n const encryptedValue = get(item, valuePath);\n const encryptionKeyUrl = get(item, keyPath);\n\n if (!encryptedValue || !encryptionKeyUrl) {\n return;\n }\n\n const decryptedValue = await webex.internal.encryption.decryptText(\n encryptionKeyUrl,\n encryptedValue\n );\n\n set(item, valuePath, decryptedValue);\n};\n\nexport const decryptToolUse = async (data, webex) => {\n await decryptInPlace(data, 'value.value', 'encryptionKeyUrl', webex);\n};\n\nexport const decryptCitedAnswer = async (data, webex) => {\n if (data.value.citations) {\n await Promise.all(\n data.value.citations.map((citation, index) => {\n return decryptInPlace(data, `value.citations.${index}.name`, 'encryptionKeyUrl', webex);\n })\n );\n }\n\n await decryptInPlace(data, 'value.value', 'encryptionKeyUrl', webex);\n};\nexport const decryptScheduleMeeting = async (data, webex) => {\n // Decrypt commentary in parameters\n await decryptInPlace(data, 'parameters.commentary', 'encryptionKeyUrl', webex);\n\n const meetingData = data.value?.results?.data;\n if (meetingData) {\n // Decrypt attendee emails\n if (meetingData.attendees) {\n await Promise.all(\n meetingData.attendees.map((attendee, index) => {\n return decryptInPlace(\n data,\n `value.results.data.attendees.${index}.email`,\n 'encryptionKeyUrl',\n webex\n );\n })\n );\n }\n\n // Decrypt other fields in the meeting data\n await Promise.all([\n decryptInPlace(data, 'value.results.data.title', 'encryptionKeyUrl', webex),\n decryptInPlace(data, 'value.results.data.inScopeReply', 'encryptionKeyUrl', webex),\n decryptInPlace(data, 'value.results.data.meetingLink', 'encryptionKeyUrl', webex),\n decryptInPlace(data, 'value.results.data.description', 'encryptionKeyUrl', webex),\n ]);\n }\n};\n\nexport const decryptMessage = async (data, webex) => {\n await decryptInPlace(data, 'value', 'encryptionKeyUrl', webex);\n};\n\nexport const decryptWorkspace = async (data, webex) => {\n await decryptInPlace(data, 'value.value', 'encryptionKeyUrl', webex);\n};\n\nexport const decryptAssistantActivity = async (data, webex) => {\n await decryptInPlace(data, 'content.value.message', 'encryptionKeyUrl', webex);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_lodash","require","decryptInPlace","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","item","valuePath","keyPath","webex","encryptedValue","encryptionKeyUrl","decryptedValue","wrap","_context","prev","next","get","abrupt","internal","encryption","decryptText","sent","set","stop","_x","_x2","_x3","_x4","apply","arguments","decryptToolUse","exports","_ref2","_callee2","data","_context2","_x5","_x6","decryptCitedAnswer","_ref3","_callee3","_context3","value","citations","_promise","all","map","citation","index","concat","sources","source","_x7","_x8","decryptScheduleMeeting","_ref4","_callee4","_data$value","_data$value$results","meetingData","_context4","results","attendees","attendee","_x9","_x0","decryptMessage","_ref5","_callee5","_context5","_x1","_x10","decryptWorkspace","_ref6","_callee6","_context6","_x11","_x12","decryptAssistantActivity","_ref7","_callee7","_context7","_x13","_x14"],"sources":["utils.ts"],"sourcesContent":["import {get, set} from 'lodash';\n\nconst decryptInPlace = async (item, valuePath, keyPath, webex) => {\n const encryptedValue = get(item, valuePath);\n const encryptionKeyUrl = get(item, keyPath);\n\n if (!encryptedValue || !encryptionKeyUrl) {\n return;\n }\n\n const decryptedValue = await webex.internal.encryption.decryptText(\n encryptionKeyUrl,\n encryptedValue\n );\n\n set(item, valuePath, decryptedValue);\n};\n\nexport const decryptToolUse = async (data, webex) => {\n await decryptInPlace(data, 'value.value', 'encryptionKeyUrl', webex);\n};\n\nexport const decryptCitedAnswer = async (data, webex) => {\n if (data.value.citations) {\n await Promise.all(\n data.value.citations.map((citation, index) => {\n return decryptInPlace(data, `value.citations.${index}.name`, 'encryptionKeyUrl', webex);\n })\n );\n }\n\n if (data.value.sources) {\n await Promise.all(\n data.value.sources.map((source, index) => {\n return decryptInPlace(data, `value.sources.${index}.name`, 'encryptionKeyUrl', webex);\n })\n );\n }\n\n await decryptInPlace(data, 'value.value', 'encryptionKeyUrl', webex);\n};\nexport const decryptScheduleMeeting = async (data, webex) => {\n // Decrypt commentary in parameters\n await decryptInPlace(data, 'parameters.commentary', 'encryptionKeyUrl', webex);\n\n const meetingData = data.value?.results?.data;\n if (meetingData) {\n // Decrypt attendee emails\n if (meetingData.attendees) {\n await Promise.all(\n meetingData.attendees.map((attendee, index) => {\n return decryptInPlace(\n data,\n `value.results.data.attendees.${index}.email`,\n 'encryptionKeyUrl',\n webex\n );\n })\n );\n }\n\n // Decrypt other fields in the meeting data\n await Promise.all([\n decryptInPlace(data, 'value.results.data.title', 'encryptionKeyUrl', webex),\n decryptInPlace(data, 'value.results.data.inScopeReply', 'encryptionKeyUrl', webex),\n decryptInPlace(data, 'value.results.data.meetingLink', 'encryptionKeyUrl', webex),\n decryptInPlace(data, 'value.results.data.description', 'encryptionKeyUrl', webex),\n ]);\n }\n};\n\nexport const decryptMessage = async (data, webex) => {\n await decryptInPlace(data, 'value', 'encryptionKeyUrl', webex);\n};\n\nexport const decryptWorkspace = async (data, webex) => {\n await decryptInPlace(data, 'value.value', 'encryptionKeyUrl', webex);\n};\n\nexport const decryptAssistantActivity = async (data, webex) => {\n await decryptInPlace(data, 'content.value.message', 'encryptionKeyUrl', webex);\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -22,8 +22,8 @@
22
22
  "dependencies": {
23
23
  "@webex/common": "3.11.0-next.1",
24
24
  "@webex/common-timers": "3.11.0-next.1",
25
- "@webex/internal-plugin-mercury": "3.11.0-next.7",
26
- "@webex/webex-core": "3.11.0-next.6",
25
+ "@webex/internal-plugin-mercury": "3.11.0-next.8",
26
+ "@webex/webex-core": "3.11.0-next.7",
27
27
  "lodash": "^4.17.21",
28
28
  "uuid": "^3.3.2"
29
29
  },
@@ -49,5 +49,5 @@
49
49
  "test:style": "eslint ./src/**/*.*",
50
50
  "test:unit": "webex-legacy-tools test --unit --runner jest"
51
51
  },
52
- "version": "3.11.0-next.10"
52
+ "version": "3.11.0-next.12"
53
53
  }
package/src/utils.ts CHANGED
@@ -29,6 +29,14 @@ export const decryptCitedAnswer = async (data, webex) => {
29
29
  );
30
30
  }
31
31
 
32
+ if (data.value.sources) {
33
+ await Promise.all(
34
+ data.value.sources.map((source, index) => {
35
+ return decryptInPlace(data, `value.sources.${index}.name`, 'encryptionKeyUrl', webex);
36
+ })
37
+ );
38
+ }
39
+
32
40
  await decryptInPlace(data, 'value.value', 'encryptionKeyUrl', webex);
33
41
  };
34
42
  export const decryptScheduleMeeting = async (data, webex) => {
@@ -709,6 +709,82 @@ export const scheduleMeetingResponse = [
709
709
  },
710
710
  ];
711
711
 
712
+ export const citedAnswerWithSourcesResponse = [
713
+ {
714
+ eventType: 'assistant-api.response',
715
+ sequence: 1,
716
+ finished: true,
717
+ clientRequestId: 'test-request-id',
718
+ responseId: '3c1a4b30-92fe-11f0-8e9f-1bafc66fbbc5',
719
+ responseType: 'response',
720
+ response: {
721
+ sessionId: '3c1939c0-92fe-11f0-8e9f-1bafc66fbbc5',
722
+ sessionUrl:
723
+ 'https://assistant-api-a.wbx2.com:443/assistant-api/api/v1/sessions/3c1939c0-92fe-11f0-8e9f-1bafc66fbbc5',
724
+ messageId: '3c19fd10-92fe-11f0-8e9f-1bafc66fbbc5',
725
+ messageUrl:
726
+ 'https://assistant-api-a.wbx2.com:443/assistant-api/api/v1/sessions/3c1939c0-92fe-11f0-8e9f-1bafc66fbbc5/messages/3c19fd10-92fe-11f0-8e9f-1bafc66fbbc5',
727
+ responseId: '3c1a4b30-92fe-11f0-8e9f-1bafc66fbbc5',
728
+ responseUrl:
729
+ 'https://assistant-api-a.wbx2.com:443/assistant-api/api/v1/sessions/3c1939c0-92fe-11f0-8e9f-1bafc66fbbc5/messages/3c1a4b30-92fe-11f0-8e9f-1bafc66fbbc5',
730
+ content: {
731
+ name: 'cited_answer',
732
+ type: 'json',
733
+ encryptionKeyUrl: 'kms://kms-us.wbx2.com/keys/9565506d-78b1-4742-b0fd-63719748282e',
734
+ value: {
735
+ value: 'json_1_encrypted_value',
736
+ type: 'markdown',
737
+ citations: [
738
+ {
739
+ id: '6ccc8286e2084e05a6b9a29faae77095',
740
+ index: 1,
741
+ name: 'json_1_encrypted_citation_0',
742
+ url: 'https://co.webex.com/webappng/sites/co/recording/playback/6ccc8286e2084e05a6b9a29faae77095',
743
+ metadata: {
744
+ provider: 'webex',
745
+ type: 'meeting_recording',
746
+ },
747
+ },
748
+ ],
749
+ sources: [
750
+ {
751
+ id: '6ccc8286e2084e05a6b9a29faae77096',
752
+ index: 1,
753
+ type: 'post_meeting',
754
+ name: 'json_1_encrypted_source_0',
755
+ metadata: {
756
+ meetingContainerId: 'mccc8286e2084e05a6b9a29faae77096',
757
+ },
758
+ },
759
+ {
760
+ id: '6ccc8286e2084e05a6b9a29faae77096',
761
+ index: 2,
762
+ type: 'post_call',
763
+ name: 'json_1_encrypted_source_1',
764
+ metadata: {
765
+ callContainerId: 'mccc8286e2084e05a6b9a29faae77096',
766
+ },
767
+ },
768
+ {
769
+ id: '6ccc8286e2084e05a6b9a29faae77096',
770
+ index: 3,
771
+ type: 'message',
772
+ name: 'json_1_encrypted_source_2',
773
+ metadata: {
774
+ spaceId: 'mccc8286e2084e05a6b9a29faae77096',
775
+ },
776
+ },
777
+ ],
778
+ },
779
+ },
780
+ createdAt: '2025-09-16T13:08:30.594220705Z',
781
+ creator: {
782
+ role: 'assistant',
783
+ },
784
+ },
785
+ },
786
+ ];
787
+
712
788
  export const assistantActivity = [
713
789
  {
714
790
  eventType: 'assistant-api.activity',
@@ -22,6 +22,7 @@ import {
22
22
  workspaceResponse,
23
23
  scheduleMeetingResponse,
24
24
  assistantActivity,
25
+ citedAnswerWithSourcesResponse,
25
26
  } from '../data/messages';
26
27
 
27
28
  const waitForAsync = () =>
@@ -717,6 +718,103 @@ describe('plugin-ai-assistant', () => {
717
718
  expect(triggerSpy.getCall(0).args[1]).to.deep.equal(expectedResult);
718
719
  });
719
720
 
721
+ it('handles a cited answer with sources response', async () => {
722
+ const triggerSpy = sinon.spy(webex.internal.aiAssistant, 'trigger');
723
+ webex.internal.encryption.decryptText.callsFake(async (keyUrl, value) => {
724
+ return `decrypted-with-${keyUrl}-${value}`;
725
+ });
726
+
727
+ await webex.internal.aiAssistant._request({
728
+ resource: 'test-resource',
729
+ params: {param1: 'value1'},
730
+ });
731
+
732
+ const event = cloneDeep(citedAnswerWithSourcesResponse[0]);
733
+ event.clientRequestId = 'test-request-id';
734
+
735
+ await webex.internal.aiAssistant._handleEvent(event);
736
+
737
+ expect(triggerSpy.getCall(0).args[0]).to.equal(`aiassistant:result:test-request-id`);
738
+
739
+ await waitForAsync();
740
+
741
+ const expectedResult = {
742
+ sessionId: '3c1939c0-92fe-11f0-8e9f-1bafc66fbbc5',
743
+ sessionUrl:
744
+ 'https://assistant-api-a.wbx2.com:443/assistant-api/api/v1/sessions/3c1939c0-92fe-11f0-8e9f-1bafc66fbbc5',
745
+ messageId: '3c19fd10-92fe-11f0-8e9f-1bafc66fbbc5',
746
+ messageUrl:
747
+ 'https://assistant-api-a.wbx2.com:443/assistant-api/api/v1/sessions/3c1939c0-92fe-11f0-8e9f-1bafc66fbbc5/messages/3c19fd10-92fe-11f0-8e9f-1bafc66fbbc5',
748
+ responseId: '3c1a4b30-92fe-11f0-8e9f-1bafc66fbbc5',
749
+ responseUrl:
750
+ 'https://assistant-api-a.wbx2.com:443/assistant-api/api/v1/sessions/3c1939c0-92fe-11f0-8e9f-1bafc66fbbc5/messages/3c1a4b30-92fe-11f0-8e9f-1bafc66fbbc5',
751
+ content: {
752
+ name: 'cited_answer',
753
+ type: 'json',
754
+ encryptionKeyUrl: 'kms://kms-us.wbx2.com/keys/9565506d-78b1-4742-b0fd-63719748282e',
755
+ value: {
756
+ value:
757
+ 'decrypted-with-kms://kms-us.wbx2.com/keys/9565506d-78b1-4742-b0fd-63719748282e-json_1_encrypted_value',
758
+ type: 'markdown',
759
+ citations: [
760
+ {
761
+ id: '6ccc8286e2084e05a6b9a29faae77095',
762
+ index: 1,
763
+ name: 'decrypted-with-kms://kms-us.wbx2.com/keys/9565506d-78b1-4742-b0fd-63719748282e-json_1_encrypted_citation_0',
764
+ url: 'https://co.webex.com/webappng/sites/co/recording/playback/6ccc8286e2084e05a6b9a29faae77095',
765
+ metadata: {
766
+ provider: 'webex',
767
+ type: 'meeting_recording',
768
+ },
769
+ },
770
+ ],
771
+ sources: [
772
+ {
773
+ id: '6ccc8286e2084e05a6b9a29faae77096',
774
+ index: 1,
775
+ type: 'post_meeting',
776
+ name: 'decrypted-with-kms://kms-us.wbx2.com/keys/9565506d-78b1-4742-b0fd-63719748282e-json_1_encrypted_source_0',
777
+ metadata: {
778
+ meetingContainerId: 'mccc8286e2084e05a6b9a29faae77096',
779
+ },
780
+ },
781
+ {
782
+ id: '6ccc8286e2084e05a6b9a29faae77096',
783
+ index: 2,
784
+ type: 'post_call',
785
+ name: 'decrypted-with-kms://kms-us.wbx2.com/keys/9565506d-78b1-4742-b0fd-63719748282e-json_1_encrypted_source_1',
786
+ metadata: {
787
+ callContainerId: 'mccc8286e2084e05a6b9a29faae77096',
788
+ },
789
+ },
790
+ {
791
+ id: '6ccc8286e2084e05a6b9a29faae77096',
792
+ index: 3,
793
+ type: 'message',
794
+ name: 'decrypted-with-kms://kms-us.wbx2.com/keys/9565506d-78b1-4742-b0fd-63719748282e-json_1_encrypted_source_2',
795
+ metadata: {
796
+ spaceId: 'mccc8286e2084e05a6b9a29faae77096',
797
+ },
798
+ },
799
+ ],
800
+ },
801
+ },
802
+ createdAt: '2025-09-16T13:08:30.594220705Z',
803
+ creator: {
804
+ role: 'assistant',
805
+ },
806
+ // the below fields are added by the SDK
807
+ errorCode: undefined,
808
+ errorMessage: undefined,
809
+ finished: true,
810
+ requestId: 'test-request-id',
811
+ responseType: 'response',
812
+ };
813
+
814
+ expect(triggerSpy.getCall(1).args[0]).to.deep.equal('aiassistant:stream:test-request-id');
815
+ expect(triggerSpy.getCall(1).args[1]).to.deep.equal(expectedResult);
816
+ });
817
+
720
818
  it('decrypts and emits data when receiving event data', async () => {
721
819
  const triggerSpy = sinon.spy(webex.internal.aiAssistant, 'trigger');
722
820