Spark 760515 ai assistant generated summaries in call history#4753
Spark 760515 ai assistant generated summaries in call history#4753Hem-Dutt wants to merge 8 commits intowebex:nextfrom
Conversation
…s-in-Call-history * next: (36 commits) fix(*): move @webex/event-dictionary-ts to dev dependency and upgrade (webex#4710) fix(calling): new method getDevices added (webex#4684) fix(ai-assistant): add renderProtocolVersion header (webex#4711) Revert "fix(calling): add .js extensions to ESM output for Node.js compatibility (webex#4706)" feat(internal-plugin-metrics): add unit tests for pre-login metrics feat(metrics): add prelogin metrics interface to new-metrics - update api feat(metrics): add prelogin metrics interface to new-metrics fix: added locusSessionId to MQEs and CA events (webex#4709) fix(calling): add .js extensions to ESM output for Node.js compatibility (webex#4706) fix(ci): Updated webex package in changelog URL for Github-Bot (webex#4695) fix(ai-assistant): remove mercury disconnect on deregister (webex#4707) fix(contact-center): allow profile update for all fields (webex#4704) fix(plugin-cc): adding int setup support (webex#4377) fix(calling): clears a call keepalive interval before creating one (webex#4700) feat: process for handling old/unmaintained npm libraries of SDK (webex#4637) feat(plugin-meetings): add support for Metadata object in Locus Hash trees (webex#4697) feat(meetings): added rootHash query param to Locus hash tree sync requests (webex#4699) feat(internal-plugin-calendar): remove redundant KMS key pre-generation logic (webex#4665) fix(plugin-mercury): fix closing a unopen websocket with a custom code (webex#4698) fix(deps-dev): drop usage of @ciscospark/test-users-legacy dependency (webex#4516) ...
…sers as per actual response
…mmaries-in-Call-history
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e33fd0bbf1
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| const actionItemsData = Array.isArray(body) ? body[0] : body; | ||
|
|
||
| const decryptedSnippets = await Promise.all( | ||
| (actionItemsData.snippets || []).map(async (snippet: any) => { |
There was a problem hiding this comment.
Handle empty action-items array before accessing first element
When getActionItems() receives an empty array response, actionItemsData is set to body[0] and becomes undefined, but the next access to actionItemsData.snippets immediately throws. This turns a valid “no action items yet” case into a hard failure (getActionItems failed) instead of returning an empty snippets list, so calls without generated action items are incorrectly treated as errors.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Can we move this test file @webex/internal-plugin-ai-summary/test/integration/index.js.
Also we would need some unit tests as well for this
There was a problem hiding this comment.
Can we not use existing packages like Karma for integration tests. Its just this process of testing is not how we do testing. We can actuall move this file out and have a separate ticket to add integration tests for this plugin.
| console.log('objectType:', container.objectType); | ||
| console.log('encryptionKeyUrl:', container.encryptionKeyUrl); | ||
| console.log('summaryUrl:', container.summaryData.summaryUrl); | ||
| console.log('transcriptUrl:', container.summaryData.transcriptUrl); |
There was a problem hiding this comment.
Maybe we can have better logging
There was a problem hiding this comment.
Can we put this in @webex./internal-plugin-ai-summary/ai-docs/Architecture.md. This documentation folder is for sample apps
| ## 1. Overview | ||
| The Webex JS SDK will provide call recording retrieval capabilities through a new **`plugin-recordings`** public plugin. This document describes the architecture for exposing the Webex **Converged Recordings API** (`/v1/convergedRecordings`) to SDK users, enabling them to retrieve call recording details, download links, AI-generated summaries, and transcripts programmatically. | ||
|
|
There was a problem hiding this comment.
We dont have plugin-recording? We would have to create this as well
There was a problem hiding this comment.
I think this is a docs for another user-case and not for ai-summary
| Client | ||
| | | ||
| | 1. Get call history | ||
| +-> callHistory.getCallHistoryData() | ||
| | +-> Janus API: GET /history/userSessions | ||
| | +-> Response includes extensionPayload.callingContainerIds | ||
| | | ||
| | 2. Resolve container | ||
| +-> webex.internal.aisummary.getContainer(containerId) |
There was a problem hiding this comment.
We can make calling as a dependency and do all this inside the aisummary plugin itself.
There was a problem hiding this comment.
I see the issue in that approach, we would need the containerId to identify the call.
There was a problem hiding this comment.
Can we move this to ai-docs/Agents.md to align with our specs
| @@ -0,0 +1,46 @@ | |||
| { | |||
| "name": "@webex/internal-plugin-ai-summary", | |||
There was a problem hiding this comment.
Since this is only for call-ai-summary we should rename the plugi
| "name": "@webex/internal-plugin-ai-summary", | |
| "name": "@webex/internal-plugin-call-ai-summary", |
COMPLETES #< SPARK-760515 >
This pull request addresses
WXC within MS Teams: AI Assistant generated summaries in Call history
< DESCRIBE THE CONTEXT OF THE ISSUE >
by making the following changes
@webex/internal-plugin-ai-summary, a new internal plugin that retrievesAI-generated call summaries, notes, action items, and transcript URLs from the
Pragya and AI Bridge services
@webex/internal-plugin-encryptionno hardcoded service URLs
< DESCRIBE YOUR CHANGES >
Change Type
The following scenarios were tested
< ENUMERATE TESTS PERFORMED, WHETHER MANUAL OR AUTOMATED >
2 Manual tests introduced.
The GAI Coding Policy And Copyright Annotation Best Practices
I certified that
Make sure to have followed the contributing guidelines before submitting.