@webex/internal-plugin-conversation 3.11.0 → 3.12.0-llmrefactor.1
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.
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/conversation.js +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/share-activity.js +1 -1
- package/package.json +14 -14
- package/src/config.js +7 -0
- package/src/index.js +16 -6
package/dist/config.js
CHANGED
|
@@ -22,6 +22,13 @@ var _default = exports.default = {
|
|
|
22
22
|
outboundProcessFunc: function outboundProcessFunc() {},
|
|
23
23
|
allowedInboundStyles: [],
|
|
24
24
|
allowedOutboundStyles: [],
|
|
25
|
+
/**
|
|
26
|
+
* Additional URL schemes allowed in href/src beyond the built-in safe defaults
|
|
27
|
+
* (http, https, mailto, tel, sip, webexteams). Schemes are normalized to lowercase.
|
|
28
|
+
* Dangerous schemes (javascript, vbscript, data) are always blocked.
|
|
29
|
+
* @type {string[]}
|
|
30
|
+
*/
|
|
31
|
+
additionalAllowedUrlSchemes: [],
|
|
25
32
|
/**
|
|
26
33
|
* Max height for thumbnails generated when sharing an image
|
|
27
34
|
* @type {number}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_default","exports","default","conversation","allowedInboundTags","allowedOutboundTags","inboundProcessFunc","outboundProcessFunc","allowedInboundStyles","allowedOutboundStyles","thumbnailMaxHeight","thumbnailMaxWidth","keepEncryptedProperties","decryptionFailureMessage","includeDecryptionTransforms","includeEncryptionTransforms"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n conversation: {\n allowedInboundTags: {\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\n },\n allowedOutboundTags: {\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\n },\n // eslint-disable-next-line no-empty-function\n inboundProcessFunc: () => {},\n // eslint-disable-next-line no-empty-function\n outboundProcessFunc: () => {},\n allowedInboundStyles: [],\n allowedOutboundStyles: [],\n /**\n * Max height for thumbnails generated when sharing an image\n * @type {number}\n */\n thumbnailMaxHeight: 960,\n /**\n * Max width for thumbnails generated when sharing an image\n * @type {number}\n */\n thumbnailMaxWidth: 640,\n /**\n * Primarily for testing. When true, decrypting an activity will create a\n * sister property with the original encrypted string\n * @type {Boolean}\n */\n keepEncryptedProperties: false,\n decryptionFailureMessage: 'This message cannot be decrypted',\n\n /**\n * config value to perform decryption on inbound conversations and activities\n */\n includeDecryptionTransforms: true,\n\n /**\n * config value to perform decryption on outbound conversations and activities\n */\n includeEncryptionTransforms: true,\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIe;EACbC,YAAY,EAAE;IACZC,kBAAkB,EAAE;MAClB,eAAe,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3E,CAAC;IACDC,mBAAmB,EAAE;MACnB,eAAe,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3E,CAAC;IACD;IACAC,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAA,EAAQ,CAAC,CAAC;IAC5B;IACAC,mBAAmB,EAAE,SAArBA,mBAAmBA,CAAA,EAAQ,CAAC,CAAC;IAC7BC,oBAAoB,EAAE,EAAE;IACxBC,qBAAqB,EAAE,EAAE;IACzB;AACJ;AACA;AACA;IACIC,kBAAkB,EAAE,GAAG;IACvB;AACJ;AACA;AACA;IACIC,iBAAiB,EAAE,GAAG;IACtB;AACJ;AACA;AACA;AACA;IACIC,uBAAuB,EAAE,KAAK;IAC9BC,wBAAwB,EAAE,kCAAkC;IAE5D;AACJ;AACA;IACIC,2BAA2B,EAAE,IAAI;IAEjC;AACJ;AACA;IACIC,2BAA2B,EAAE;EAC/B;AACF,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_default","exports","default","conversation","allowedInboundTags","allowedOutboundTags","inboundProcessFunc","outboundProcessFunc","allowedInboundStyles","allowedOutboundStyles","additionalAllowedUrlSchemes","thumbnailMaxHeight","thumbnailMaxWidth","keepEncryptedProperties","decryptionFailureMessage","includeDecryptionTransforms","includeEncryptionTransforms"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n conversation: {\n allowedInboundTags: {\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\n },\n allowedOutboundTags: {\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\n },\n // eslint-disable-next-line no-empty-function\n inboundProcessFunc: () => {},\n // eslint-disable-next-line no-empty-function\n outboundProcessFunc: () => {},\n allowedInboundStyles: [],\n allowedOutboundStyles: [],\n /**\n * Additional URL schemes allowed in href/src beyond the built-in safe defaults\n * (http, https, mailto, tel, sip, webexteams). Schemes are normalized to lowercase.\n * Dangerous schemes (javascript, vbscript, data) are always blocked.\n * @type {string[]}\n */\n additionalAllowedUrlSchemes: [],\n /**\n * Max height for thumbnails generated when sharing an image\n * @type {number}\n */\n thumbnailMaxHeight: 960,\n /**\n * Max width for thumbnails generated when sharing an image\n * @type {number}\n */\n thumbnailMaxWidth: 640,\n /**\n * Primarily for testing. When true, decrypting an activity will create a\n * sister property with the original encrypted string\n * @type {Boolean}\n */\n keepEncryptedProperties: false,\n decryptionFailureMessage: 'This message cannot be decrypted',\n\n /**\n * config value to perform decryption on inbound conversations and activities\n */\n includeDecryptionTransforms: true,\n\n /**\n * config value to perform decryption on outbound conversations and activities\n */\n includeEncryptionTransforms: true,\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIe;EACbC,YAAY,EAAE;IACZC,kBAAkB,EAAE;MAClB,eAAe,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3E,CAAC;IACDC,mBAAmB,EAAE;MACnB,eAAe,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3E,CAAC;IACD;IACAC,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAA,EAAQ,CAAC,CAAC;IAC5B;IACAC,mBAAmB,EAAE,SAArBA,mBAAmBA,CAAA,EAAQ,CAAC,CAAC;IAC7BC,oBAAoB,EAAE,EAAE;IACxBC,qBAAqB,EAAE,EAAE;IACzB;AACJ;AACA;AACA;AACA;AACA;IACIC,2BAA2B,EAAE,EAAE;IAC/B;AACJ;AACA;AACA;IACIC,kBAAkB,EAAE,GAAG;IACvB;AACJ;AACA;AACA;IACIC,iBAAiB,EAAE,GAAG;IACtB;AACJ;AACA;AACA;AACA;IACIC,uBAAuB,EAAE,KAAK;IAC9BC,wBAAwB,EAAE,kCAAkC;IAE5D;AACJ;AACA;IACIC,2BAA2B,EAAE,IAAI;IAEjC;AACJ;AACA;IACIC,2BAA2B,EAAE;EAC/B;AACF,CAAC","ignoreList":[]}
|
package/dist/conversation.js
CHANGED
|
@@ -2526,7 +2526,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
|
|
|
2526
2526
|
});
|
|
2527
2527
|
}));
|
|
2528
2528
|
},
|
|
2529
|
-
version: "
|
|
2529
|
+
version: "3.12.0-llmrefactor.1"
|
|
2530
2530
|
});
|
|
2531
2531
|
['favorite', 'hide', 'lock', 'mute', 'unfavorite', 'unhide', 'unlock', 'unmute'].forEach(function (verb) {
|
|
2532
2532
|
Conversation.prototype[verb] = function submitSimpleActivity(conversation, activity) {
|
package/dist/index.js
CHANGED
|
@@ -210,8 +210,9 @@ var _convoError = require("./convo-error");
|
|
|
210
210
|
var _ctx$webex$config$con = ctx.webex.config.conversation,
|
|
211
211
|
inboundProcessFunc = _ctx$webex$config$con.inboundProcessFunc,
|
|
212
212
|
allowedInboundTags = _ctx$webex$config$con.allowedInboundTags,
|
|
213
|
-
allowedInboundStyles = _ctx$webex$config$con.allowedInboundStyles
|
|
214
|
-
|
|
213
|
+
allowedInboundStyles = _ctx$webex$config$con.allowedInboundStyles,
|
|
214
|
+
additionalAllowedUrlSchemes = _ctx$webex$config$con.additionalAllowedUrlSchemes;
|
|
215
|
+
return (0, _helperHtml.filter)(inboundProcessFunc, allowedInboundTags || {}, allowedInboundStyles, object.content, additionalAllowedUrlSchemes).then(function (c) {
|
|
215
216
|
object.content = c;
|
|
216
217
|
});
|
|
217
218
|
}
|
|
@@ -225,8 +226,9 @@ var _convoError = require("./convo-error");
|
|
|
225
226
|
var _ctx$webex$config$con2 = ctx.webex.config.conversation,
|
|
226
227
|
outboundProcessFunc = _ctx$webex$config$con2.outboundProcessFunc,
|
|
227
228
|
allowedOutboundTags = _ctx$webex$config$con2.allowedOutboundTags,
|
|
228
|
-
allowedOutboundStyles = _ctx$webex$config$con2.allowedOutboundStyles
|
|
229
|
-
|
|
229
|
+
allowedOutboundStyles = _ctx$webex$config$con2.allowedOutboundStyles,
|
|
230
|
+
additionalAllowedUrlSchemes = _ctx$webex$config$con2.additionalAllowedUrlSchemes;
|
|
231
|
+
return (0, _helperHtml.filterEscape)(outboundProcessFunc, allowedOutboundTags || {}, allowedOutboundStyles, object.content, additionalAllowedUrlSchemes).then(function (c) {
|
|
230
232
|
object.content = c;
|
|
231
233
|
});
|
|
232
234
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_common","_helperHtml","_webexCore","_lodash","_conversation","_interopRequireDefault","_config","_shareActivity","_convoError","registerInternalPlugin","Conversation","payloadTransformer","predicates","name","test","ctx","optionsOrResponse","_promise","default","resolve","has","extract","body","direction","event","activity","response","multistatus","map","item","data","options","get","items","transforms","fn","array","all","transform","then","decrypt","_deleteProperty","object","objectType","concat","capitalize","content","_ctx$webex$config$con","webex","config","conversation","inboundProcessFunc","allowedInboundTags","allowedInboundStyles","htmlFilter","c","_ctx$webex$config$con2","outboundProcessFunc","allowedOutboundTags","allowedOutboundStyles","htmlFilterEscape","activities","participants","actor","target","threadActivity","childActivities","person","email","entryEmail","emailAddress","id","entryUUID","patterns","toLowerCase","roomProperties","isModerator","Boolean","uuid","reject","Error","internal","user","asUUID"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-user';\n\nimport {patterns} from '@webex/common';\nimport {filter as htmlFilter, filterEscape as htmlFilterEscape} from '@webex/helper-html';\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {capitalize, get, has} from 'lodash';\n\nimport Conversation from './conversation';\nimport config from './config';\n\nregisterInternalPlugin('conversation', Conversation, {\n payloadTransformer: {\n predicates: [\n {\n name: 'transformObject',\n test(ctx, optionsOrResponse) {\n return Promise.resolve(has(optionsOrResponse, 'body.objectType'));\n },\n extract(optionsOrResponse) {\n return Promise.resolve(optionsOrResponse.body);\n },\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n test(ctx, event) {\n return Promise.resolve(has(event, 'activity'));\n },\n extract(event) {\n return Promise.resolve(event.activity);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.multistatus'));\n },\n extract(response) {\n return Promise.resolve(\n response.body.multistatus.map((item) => item && item.data && item.data.activity)\n );\n },\n },\n {\n name: 'normalizeConversationListAndBindDecrypters',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(true);\n }\n\n return Promise.resolve(false);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n {\n name: 'transformThreadArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].childType') || !has(options, 'body.items[0].actorId')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n ],\n transforms: [\n {\n name: 'normalizeConversationListAndBindDecrypters',\n fn(ctx, array) {\n return Promise.all(\n array.map((item) =>\n ctx.transform('normalizeObject', item).then(() => {\n item.decrypt = function decrypt() {\n Reflect.deleteProperty(item, 'decrypt');\n\n return ctx.transform('decryptObject', item);\n };\n\n return item;\n })\n )\n );\n },\n },\n {\n name: 'transformObjectArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformObject', item)));\n },\n },\n {\n name: 'transformThreadArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformThread', item)));\n },\n },\n {\n name: 'transformObject',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('normalizeObject', object)\n .then(() => ctx.transform('encryptObject', object))\n .then(() => ctx.transform('encryptKmsMessage', object));\n },\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('decryptObject', object)\n .then(() => ctx.transform('normalizeObject', object));\n },\n },\n {\n name: 'normalizeObject',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return Promise.all([\n ctx.transform(`normalize${capitalize(object.objectType)}`, object),\n ctx.transform('normalizePropContent', object),\n ]);\n },\n },\n {\n name: 'transformThread',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('decryptThread', object)\n .then(() => ctx.transform('normalizeThread', object));\n },\n },\n {\n name: 'normalizePropContent',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n const {inboundProcessFunc, allowedInboundTags, allowedInboundStyles} =\n ctx.webex.config.conversation;\n\n return htmlFilter(\n inboundProcessFunc,\n allowedInboundTags || {},\n allowedInboundStyles,\n object.content\n ).then((c) => {\n object.content = c;\n });\n },\n },\n {\n name: 'normalizePropContent',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n\n const {outboundProcessFunc, allowedOutboundTags, allowedOutboundStyles} =\n ctx.webex.config.conversation;\n\n return htmlFilterEscape(\n outboundProcessFunc,\n allowedOutboundTags || {},\n allowedOutboundStyles,\n object.content\n ).then((c) => {\n object.content = c;\n });\n },\n },\n {\n name: 'normalizeConversation',\n fn(ctx, conversation) {\n conversation.activities = conversation.activities || {};\n conversation.activities.items = conversation.activities.items || [];\n conversation.participants = conversation.participants || {};\n conversation.participants.items = conversation.participants.items || [];\n\n return Promise.all([\n Promise.all(\n conversation.activities.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n Promise.all(\n conversation.participants.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n ]);\n },\n },\n {\n name: 'normalizeActivity',\n fn(ctx, activity) {\n return Promise.all([\n ctx.transform('normalizeObject', activity.actor),\n ctx.transform('normalizeObject', activity.object),\n ctx.transform('normalizeObject', activity.target),\n ]);\n },\n },\n {\n name: 'normalizeThread',\n fn(ctx, threadActivity) {\n // childActivities are of type Activity\n return Promise.all(\n threadActivity.childActivities.map((item) => ctx.transform('normalizeObject', item))\n );\n },\n },\n {\n name: 'normalizePerson',\n // eslint-disable-next-line complexity\n fn(ctx, person) {\n const email = person.entryEmail || person.emailAddress || person.id;\n const id = person.entryUUID || person.id;\n\n if (patterns.email.test(email)) {\n person.entryEmail = person.emailAddress = email.toLowerCase();\n } else {\n Reflect.deleteProperty(person, 'entryEmail');\n Reflect.deleteProperty(person, 'emailAddress');\n }\n\n if (person.roomProperties) {\n person.roomProperties.isModerator = Boolean(person.roomProperties.isModerator);\n }\n\n if (patterns.uuid.test(id)) {\n person.entryUUID = person.id = id.toLowerCase();\n\n return Promise.resolve(person);\n }\n\n if (!email) {\n return Promise.reject(\n new Error('cannot determine id without an `emailAddress` or `entryUUID` property')\n );\n }\n\n return ctx.webex.internal.user.asUUID(email).then((uuid) => {\n person.entryUUID = person.id = uuid;\n\n return person;\n });\n },\n },\n ],\n },\n config,\n});\n\nexport {default} from './conversation';\nexport {default as ShareActivity} from './share-activity';\nexport {ConversationError, InvalidUserCreation} from './convo-error';\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["require","_common","_helperHtml","_webexCore","_lodash","_conversation","_interopRequireDefault","_config","_shareActivity","_convoError","registerInternalPlugin","Conversation","payloadTransformer","predicates","name","test","ctx","optionsOrResponse","_promise","default","resolve","has","extract","body","direction","event","activity","response","multistatus","map","item","data","options","get","items","transforms","fn","array","all","transform","then","decrypt","_deleteProperty","object","objectType","concat","capitalize","content","_ctx$webex$config$con","webex","config","conversation","inboundProcessFunc","allowedInboundTags","allowedInboundStyles","additionalAllowedUrlSchemes","htmlFilter","c","_ctx$webex$config$con2","outboundProcessFunc","allowedOutboundTags","allowedOutboundStyles","htmlFilterEscape","activities","participants","actor","target","threadActivity","childActivities","person","email","entryEmail","emailAddress","id","entryUUID","patterns","toLowerCase","roomProperties","isModerator","Boolean","uuid","reject","Error","internal","user","asUUID"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-user';\n\nimport {patterns} from '@webex/common';\nimport {filter as htmlFilter, filterEscape as htmlFilterEscape} from '@webex/helper-html';\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {capitalize, get, has} from 'lodash';\n\nimport Conversation from './conversation';\nimport config from './config';\n\nregisterInternalPlugin('conversation', Conversation, {\n payloadTransformer: {\n predicates: [\n {\n name: 'transformObject',\n test(ctx, optionsOrResponse) {\n return Promise.resolve(has(optionsOrResponse, 'body.objectType'));\n },\n extract(optionsOrResponse) {\n return Promise.resolve(optionsOrResponse.body);\n },\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n test(ctx, event) {\n return Promise.resolve(has(event, 'activity'));\n },\n extract(event) {\n return Promise.resolve(event.activity);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.multistatus'));\n },\n extract(response) {\n return Promise.resolve(\n response.body.multistatus.map((item) => item && item.data && item.data.activity)\n );\n },\n },\n {\n name: 'normalizeConversationListAndBindDecrypters',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(true);\n }\n\n return Promise.resolve(false);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n {\n name: 'transformThreadArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].childType') || !has(options, 'body.items[0].actorId')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n ],\n transforms: [\n {\n name: 'normalizeConversationListAndBindDecrypters',\n fn(ctx, array) {\n return Promise.all(\n array.map((item) =>\n ctx.transform('normalizeObject', item).then(() => {\n item.decrypt = function decrypt() {\n Reflect.deleteProperty(item, 'decrypt');\n\n return ctx.transform('decryptObject', item);\n };\n\n return item;\n })\n )\n );\n },\n },\n {\n name: 'transformObjectArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformObject', item)));\n },\n },\n {\n name: 'transformThreadArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformThread', item)));\n },\n },\n {\n name: 'transformObject',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('normalizeObject', object)\n .then(() => ctx.transform('encryptObject', object))\n .then(() => ctx.transform('encryptKmsMessage', object));\n },\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('decryptObject', object)\n .then(() => ctx.transform('normalizeObject', object));\n },\n },\n {\n name: 'normalizeObject',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return Promise.all([\n ctx.transform(`normalize${capitalize(object.objectType)}`, object),\n ctx.transform('normalizePropContent', object),\n ]);\n },\n },\n {\n name: 'transformThread',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('decryptThread', object)\n .then(() => ctx.transform('normalizeThread', object));\n },\n },\n {\n name: 'normalizePropContent',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n const {\n inboundProcessFunc,\n allowedInboundTags,\n allowedInboundStyles,\n additionalAllowedUrlSchemes,\n } = ctx.webex.config.conversation;\n\n return htmlFilter(\n inboundProcessFunc,\n allowedInboundTags || {},\n allowedInboundStyles,\n object.content,\n additionalAllowedUrlSchemes\n ).then((c) => {\n object.content = c;\n });\n },\n },\n {\n name: 'normalizePropContent',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n\n const {\n outboundProcessFunc,\n allowedOutboundTags,\n allowedOutboundStyles,\n additionalAllowedUrlSchemes,\n } = ctx.webex.config.conversation;\n\n return htmlFilterEscape(\n outboundProcessFunc,\n allowedOutboundTags || {},\n allowedOutboundStyles,\n object.content,\n additionalAllowedUrlSchemes\n ).then((c) => {\n object.content = c;\n });\n },\n },\n {\n name: 'normalizeConversation',\n fn(ctx, conversation) {\n conversation.activities = conversation.activities || {};\n conversation.activities.items = conversation.activities.items || [];\n conversation.participants = conversation.participants || {};\n conversation.participants.items = conversation.participants.items || [];\n\n return Promise.all([\n Promise.all(\n conversation.activities.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n Promise.all(\n conversation.participants.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n ]);\n },\n },\n {\n name: 'normalizeActivity',\n fn(ctx, activity) {\n return Promise.all([\n ctx.transform('normalizeObject', activity.actor),\n ctx.transform('normalizeObject', activity.object),\n ctx.transform('normalizeObject', activity.target),\n ]);\n },\n },\n {\n name: 'normalizeThread',\n fn(ctx, threadActivity) {\n // childActivities are of type Activity\n return Promise.all(\n threadActivity.childActivities.map((item) => ctx.transform('normalizeObject', item))\n );\n },\n },\n {\n name: 'normalizePerson',\n // eslint-disable-next-line complexity\n fn(ctx, person) {\n const email = person.entryEmail || person.emailAddress || person.id;\n const id = person.entryUUID || person.id;\n\n if (patterns.email.test(email)) {\n person.entryEmail = person.emailAddress = email.toLowerCase();\n } else {\n Reflect.deleteProperty(person, 'entryEmail');\n Reflect.deleteProperty(person, 'emailAddress');\n }\n\n if (person.roomProperties) {\n person.roomProperties.isModerator = Boolean(person.roomProperties.isModerator);\n }\n\n if (patterns.uuid.test(id)) {\n person.entryUUID = person.id = id.toLowerCase();\n\n return Promise.resolve(person);\n }\n\n if (!email) {\n return Promise.reject(\n new Error('cannot determine id without an `emailAddress` or `entryUUID` property')\n );\n }\n\n return ctx.webex.internal.user.asUUID(email).then((uuid) => {\n person.entryUUID = person.id = uuid;\n\n return person;\n });\n },\n },\n ],\n },\n config,\n});\n\nexport {default} from './conversation';\nexport {default as ShareActivity} from './share-activity';\nexport {ConversationError, InvalidUserCreation} from './convo-error';\n"],"mappings":"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","ignoreList":[]}
|
package/dist/share-activity.js
CHANGED
package/package.json
CHANGED
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
]
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@webex/common": "3.
|
|
23
|
-
"@webex/helper-html": "3.
|
|
24
|
-
"@webex/helper-image": "3.
|
|
25
|
-
"@webex/internal-plugin-encryption": "3.
|
|
26
|
-
"@webex/internal-plugin-user": "3.
|
|
27
|
-
"@webex/webex-core": "3.
|
|
22
|
+
"@webex/common": "3.12.0-llmrefactor.1",
|
|
23
|
+
"@webex/helper-html": "3.12.0-llmrefactor.1",
|
|
24
|
+
"@webex/helper-image": "3.12.0-llmrefactor.1",
|
|
25
|
+
"@webex/internal-plugin-encryption": "3.12.0-llmrefactor.1",
|
|
26
|
+
"@webex/internal-plugin-user": "3.12.0-llmrefactor.1",
|
|
27
|
+
"@webex/webex-core": "3.12.0-llmrefactor.1",
|
|
28
28
|
"crypto-js": "^4.1.1",
|
|
29
29
|
"lodash": "^4.17.21",
|
|
30
30
|
"node-scr": "^0.3.0",
|
|
@@ -36,13 +36,13 @@
|
|
|
36
36
|
"@webex/eslint-config-legacy": "0.0.0",
|
|
37
37
|
"@webex/jest-config-legacy": "0.0.0",
|
|
38
38
|
"@webex/legacy-tools": "0.0.0",
|
|
39
|
-
"@webex/test-helper-chai": "3.
|
|
40
|
-
"@webex/test-helper-file": "3.
|
|
41
|
-
"@webex/test-helper-make-local-url": "3.
|
|
42
|
-
"@webex/test-helper-mocha": "3.
|
|
43
|
-
"@webex/test-helper-mock-webex": "3.
|
|
44
|
-
"@webex/test-helper-retry": "3.
|
|
45
|
-
"@webex/test-helper-test-users": "3.
|
|
39
|
+
"@webex/test-helper-chai": "3.12.0-llmrefactor.1",
|
|
40
|
+
"@webex/test-helper-file": "3.12.0-llmrefactor.1",
|
|
41
|
+
"@webex/test-helper-make-local-url": "3.12.0-llmrefactor.1",
|
|
42
|
+
"@webex/test-helper-mocha": "3.12.0-llmrefactor.1",
|
|
43
|
+
"@webex/test-helper-mock-webex": "3.12.0-llmrefactor.1",
|
|
44
|
+
"@webex/test-helper-retry": "3.12.0-llmrefactor.1",
|
|
45
|
+
"@webex/test-helper-test-users": "3.12.0-llmrefactor.1",
|
|
46
46
|
"eslint": "^8.24.0",
|
|
47
47
|
"prettier": "^2.7.1",
|
|
48
48
|
"sinon": "^9.2.4"
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"test:style": "eslint ./src/**/*.*",
|
|
57
57
|
"test:unit": "webex-legacy-tools test --unit --runner jest"
|
|
58
58
|
},
|
|
59
|
-
"version": "3.
|
|
59
|
+
"version": "3.12.0-llmrefactor.1"
|
|
60
60
|
}
|
package/src/config.js
CHANGED
|
@@ -16,6 +16,13 @@ export default {
|
|
|
16
16
|
outboundProcessFunc: () => {},
|
|
17
17
|
allowedInboundStyles: [],
|
|
18
18
|
allowedOutboundStyles: [],
|
|
19
|
+
/**
|
|
20
|
+
* Additional URL schemes allowed in href/src beyond the built-in safe defaults
|
|
21
|
+
* (http, https, mailto, tel, sip, webexteams). Schemes are normalized to lowercase.
|
|
22
|
+
* Dangerous schemes (javascript, vbscript, data) are always blocked.
|
|
23
|
+
* @type {string[]}
|
|
24
|
+
*/
|
|
25
|
+
additionalAllowedUrlSchemes: [],
|
|
19
26
|
/**
|
|
20
27
|
* Max height for thumbnails generated when sharing an image
|
|
21
28
|
* @type {number}
|
package/src/index.js
CHANGED
|
@@ -205,14 +205,19 @@ registerInternalPlugin('conversation', Conversation, {
|
|
|
205
205
|
if (!object.content) {
|
|
206
206
|
return Promise.resolve();
|
|
207
207
|
}
|
|
208
|
-
const {
|
|
209
|
-
|
|
208
|
+
const {
|
|
209
|
+
inboundProcessFunc,
|
|
210
|
+
allowedInboundTags,
|
|
211
|
+
allowedInboundStyles,
|
|
212
|
+
additionalAllowedUrlSchemes,
|
|
213
|
+
} = ctx.webex.config.conversation;
|
|
210
214
|
|
|
211
215
|
return htmlFilter(
|
|
212
216
|
inboundProcessFunc,
|
|
213
217
|
allowedInboundTags || {},
|
|
214
218
|
allowedInboundStyles,
|
|
215
|
-
object.content
|
|
219
|
+
object.content,
|
|
220
|
+
additionalAllowedUrlSchemes
|
|
216
221
|
).then((c) => {
|
|
217
222
|
object.content = c;
|
|
218
223
|
});
|
|
@@ -226,14 +231,19 @@ registerInternalPlugin('conversation', Conversation, {
|
|
|
226
231
|
return Promise.resolve();
|
|
227
232
|
}
|
|
228
233
|
|
|
229
|
-
const {
|
|
230
|
-
|
|
234
|
+
const {
|
|
235
|
+
outboundProcessFunc,
|
|
236
|
+
allowedOutboundTags,
|
|
237
|
+
allowedOutboundStyles,
|
|
238
|
+
additionalAllowedUrlSchemes,
|
|
239
|
+
} = ctx.webex.config.conversation;
|
|
231
240
|
|
|
232
241
|
return htmlFilterEscape(
|
|
233
242
|
outboundProcessFunc,
|
|
234
243
|
allowedOutboundTags || {},
|
|
235
244
|
allowedOutboundStyles,
|
|
236
|
-
object.content
|
|
245
|
+
object.content,
|
|
246
|
+
additionalAllowedUrlSchemes
|
|
237
247
|
).then((c) => {
|
|
238
248
|
object.content = c;
|
|
239
249
|
});
|