@microsoft/agents-copilotstudio-client 1.0.7-g73d3d58001 → 1.0.13-gef996e80de
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/package.json +2 -2
- package/dist/src/browser.mjs +6 -6
- package/dist/src/browser.mjs.map +3 -3
- package/dist/src/copilotStudioClient.d.ts +7 -0
- package/dist/src/copilotStudioClient.js +11 -2
- package/dist/src/copilotStudioClient.js.map +1 -1
- package/dist/src/copilotStudioWebChat.d.ts +1 -1
- package/dist/src/copilotStudioWebChat.js +3 -4
- package/dist/src/copilotStudioWebChat.js.map +1 -1
- package/package.json +2 -2
- package/src/copilotStudioClient.ts +11 -1
- package/src/copilotStudioWebChat.ts +5 -4
package/dist/src/browser.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../node_modules/ms/index.js", "../../../../node_modules/debug/src/common.js", "../../../../node_modules/debug/src/browser.js", "../../../agents-activity/src/logger.ts", "../../../../node_modules/zod/v3/helpers/util.cjs", "../../../../node_modules/zod/v3/ZodError.cjs", "../../../../node_modules/zod/v3/locales/en.cjs", "../../../../node_modules/zod/v3/errors.cjs", "../../../../node_modules/zod/v3/helpers/parseUtil.cjs", "../../../../node_modules/zod/v3/helpers/typeAliases.cjs", "../../../../node_modules/zod/v3/helpers/errorUtil.cjs", "../../../../node_modules/zod/v3/types.cjs", "../../../../node_modules/zod/v3/external.cjs", "../../../../node_modules/zod/index.cjs", "../../../agents-activity/src/action/actionTypes.ts", "../../../agents-activity/src/action/semanticActionStateTypes.ts", "../../../agents-activity/src/attachment/attachmentLayoutTypes.ts", "../../../agents-activity/src/conversation/channels.ts", "../../../agents-activity/src/conversation/endOfConversationCodes.ts", "../../../agents-activity/src/conversation/roleTypes.ts", "../../../agents-activity/src/entity/AIEntity.ts", "../../../agents-activity/src/invoke/adaptiveCardInvokeAction.ts", "../../../../node_modules/uuid/dist/cjs-browser/max.js", "../../../../node_modules/uuid/dist/cjs-browser/nil.js", "../../../../node_modules/uuid/dist/cjs-browser/regex.js", "../../../../node_modules/uuid/dist/cjs-browser/validate.js", "../../../../node_modules/uuid/dist/cjs-browser/parse.js", "../../../../node_modules/uuid/dist/cjs-browser/stringify.js", "../../../../node_modules/uuid/dist/cjs-browser/rng.js", "../../../../node_modules/uuid/dist/cjs-browser/v1.js", "../../../../node_modules/uuid/dist/cjs-browser/v1ToV6.js", "../../../../node_modules/uuid/dist/cjs-browser/md5.js", "../../../../node_modules/uuid/dist/cjs-browser/v35.js", "../../../../node_modules/uuid/dist/cjs-browser/v3.js", "../../../../node_modules/uuid/dist/cjs-browser/native.js", "../../../../node_modules/uuid/dist/cjs-browser/v4.js", "../../../../node_modules/uuid/dist/cjs-browser/sha1.js", "../../../../node_modules/uuid/dist/cjs-browser/v5.js", "../../../../node_modules/uuid/dist/cjs-browser/v6.js", "../../../../node_modules/uuid/dist/cjs-browser/v6ToV1.js", "../../../../node_modules/uuid/dist/cjs-browser/v7.js", "../../../../node_modules/uuid/dist/cjs-browser/version.js", "../../../../node_modules/uuid/dist/cjs-browser/index.js", "../../../agents-activity/src/entity/entity.ts", "../../../agents-activity/src/action/semanticAction.ts", "../../../agents-activity/src/action/cardAction.ts", "../../../agents-activity/src/action/suggestedActions.ts", "../../../agents-activity/src/activityEventNames.ts", "../../../agents-activity/src/activityImportance.ts", "../../../agents-activity/src/activityTypes.ts", "../../../agents-activity/src/attachment/attachment.ts", "../../../agents-activity/src/conversation/channelAccount.ts", "../../../agents-activity/src/conversation/conversationAccount.ts", "../../../agents-activity/src/conversation/conversationReference.ts", "../../../agents-activity/src/deliveryModes.ts", "../../../agents-activity/src/inputHints.ts", "../../../agents-activity/src/messageReactionTypes.ts", "../../../agents-activity/src/messageReaction.ts", "../../../agents-activity/src/textFormatTypes.ts", "../../../agents-activity/src/textHighlight.ts", "../../../agents-activity/src/activity.ts", "../../../agents-activity/src/callerIdConstants.ts", "../../../agents-activity/src/activityTreatments.ts", "../../../agents-activity/src/index.ts", "../../src/agentType.ts", "../../src/powerPlatformCloud.ts", "../../src/connectionSettings.ts", "../../../../node_modules/axios/lib/helpers/bind.js", "../../../../node_modules/axios/lib/utils.js", "../../../../node_modules/axios/lib/core/AxiosError.js", "../../../../node_modules/axios/lib/helpers/null.js", "../../../../node_modules/axios/lib/helpers/toFormData.js", "../../../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js", "../../../../node_modules/axios/lib/helpers/buildURL.js", "../../../../node_modules/axios/lib/core/InterceptorManager.js", "../../../../node_modules/axios/lib/defaults/transitional.js", "../../../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js", "../../../../node_modules/axios/lib/platform/browser/classes/FormData.js", "../../../../node_modules/axios/lib/platform/browser/classes/Blob.js", "../../../../node_modules/axios/lib/platform/browser/index.js", "../../../../node_modules/axios/lib/platform/common/utils.js", "../../../../node_modules/axios/lib/platform/index.js", "../../../../node_modules/axios/lib/helpers/toURLEncodedForm.js", "../../../../node_modules/axios/lib/helpers/formDataToJSON.js", "../../../../node_modules/axios/lib/defaults/index.js", "../../../../node_modules/axios/lib/helpers/parseHeaders.js", "../../../../node_modules/axios/lib/core/AxiosHeaders.js", "../../../../node_modules/axios/lib/core/transformData.js", "../../../../node_modules/axios/lib/cancel/isCancel.js", "../../../../node_modules/axios/lib/cancel/CanceledError.js", "../../../../node_modules/axios/lib/core/settle.js", "../../../../node_modules/axios/lib/helpers/parseProtocol.js", "../../../../node_modules/axios/lib/helpers/speedometer.js", "../../../../node_modules/axios/lib/helpers/throttle.js", "../../../../node_modules/axios/lib/helpers/progressEventReducer.js", "../../../../node_modules/axios/lib/helpers/isURLSameOrigin.js", "../../../../node_modules/axios/lib/helpers/cookies.js", "../../../../node_modules/axios/lib/helpers/isAbsoluteURL.js", "../../../../node_modules/axios/lib/helpers/combineURLs.js", "../../../../node_modules/axios/lib/core/buildFullPath.js", "../../../../node_modules/axios/lib/core/mergeConfig.js", "../../../../node_modules/axios/lib/helpers/resolveConfig.js", "../../../../node_modules/axios/lib/adapters/xhr.js", "../../../../node_modules/axios/lib/helpers/composeSignals.js", "../../../../node_modules/axios/lib/helpers/trackStream.js", "../../../../node_modules/axios/lib/adapters/fetch.js", "../../../../node_modules/axios/lib/adapters/adapters.js", "../../../../node_modules/axios/lib/core/dispatchRequest.js", "../../../../node_modules/axios/lib/env/data.js", "../../../../node_modules/axios/lib/helpers/validator.js", "../../../../node_modules/axios/lib/core/Axios.js", "../../../../node_modules/axios/lib/cancel/CancelToken.js", "../../../../node_modules/axios/lib/helpers/spread.js", "../../../../node_modules/axios/lib/helpers/isAxiosError.js", "../../../../node_modules/axios/lib/helpers/HttpStatusCode.js", "../../../../node_modules/axios/lib/axios.js", "../../../../node_modules/axios/index.js", "../../src/powerPlatformEnvironment.ts", "../../src/strategies/prebuiltBotStrategy.ts", "../../src/strategies/publishedBotStrategy.ts", "../../src/copilotStudioClient.ts", "../../src/executeTurnRequest.ts", "../../package.json", "../../src/browser/os.ts", "../../../../node_modules/uuid/dist/esm-browser/stringify.js", "../../../../node_modules/uuid/dist/esm-browser/rng.js", "../../../../node_modules/uuid/dist/esm-browser/native.js", "../../../../node_modules/uuid/dist/esm-browser/v4.js", "../../../../node_modules/tslib/tslib.es6.mjs", "../../../../node_modules/rxjs/src/internal/util/isFunction.ts", "../../../../node_modules/rxjs/src/internal/util/createErrorClass.ts", "../../../../node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "../../../../node_modules/rxjs/src/internal/util/arrRemove.ts", "../../../../node_modules/rxjs/src/internal/Subscription.ts", "../../../../node_modules/rxjs/src/internal/config.ts", "../../../../node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "../../../../node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "../../../../node_modules/rxjs/src/internal/util/noop.ts", "../../../../node_modules/rxjs/src/internal/NotificationFactories.ts", "../../../../node_modules/rxjs/src/internal/util/errorContext.ts", "../../../../node_modules/rxjs/src/internal/Subscriber.ts", "../../../../node_modules/rxjs/src/internal/symbol/observable.ts", "../../../../node_modules/rxjs/src/internal/util/identity.ts", "../../../../node_modules/rxjs/src/internal/util/pipe.ts", "../../../../node_modules/rxjs/src/internal/Observable.ts", "../../../../node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "../../../../node_modules/rxjs/src/internal/Subject.ts", "../../../../node_modules/rxjs/src/internal/BehaviorSubject.ts", "../../src/copilotStudioWebChat.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n", "\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n", "/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport createDebug, { Debugger } from 'debug'\n\nconst loggerLevels = [\n 'info',\n 'warn',\n 'error',\n 'debug',\n] as const\n\ntype LoggerLevels = typeof loggerLevels[number]\n\n/**\n * Logger class that provides colored logging functionality using the debug package.\n * Supports different log levels: info, warn, error, and debug.\n */\nexport class Logger {\n private loggers: { [K in LoggerLevels]: Debugger } = {} as any\n\n /**\n * Creates a new Logger instance with the specified namespace.\n * @param namespace The namespace to use for the logger\n */\n constructor (namespace: string = '') {\n this.initializeLoggers(namespace)\n }\n\n private initializeLoggers (namespace: string) {\n for (const level of loggerLevels) {\n const logger = createDebug(`${namespace}:${level}`)\n logger.color = this.getPlatformColor(level)\n this.loggers[level] = logger\n }\n }\n\n private getPlatformColor (level: LoggerLevels): string {\n const platform = typeof window !== 'undefined' ? 'browser' : 'node'\n const colors = {\n node: {\n info: '2', // Green\n warn: '3', // Yellow\n error: '1', // Red\n debug: '4', // Blue\n },\n browser: {\n info: '#33CC99', // Green\n warn: '#CCCC33', // Yellow\n error: '#CC3366', // Red\n debug: '#0066FF', // Blue\n },\n }\n\n return colors[platform][level]\n }\n\n /**\n * Logs an informational message.\n * @param message The message to log\n * @param args Additional arguments to include in the log\n */\n info (message: string, ...args: any[]) {\n this.loggers.info(message, ...args)\n }\n\n /**\n * Logs a warning message.\n * @param message The message to log\n * @param args Additional arguments to include in the log\n */\n warn (message: string, ...args: any[]) {\n this.loggers.warn(message, ...args)\n }\n\n /**\n * Logs an error message.\n * @param message The message to log\n * @param args Additional arguments to include in the log\n */\n error (message: string, ...args: any[]) {\n this.loggers.error(message, ...args)\n }\n\n /**\n * Logs a debug message.\n * @param message The message to log\n * @param args Additional arguments to include in the log\n */\n debug (message: string, ...args: any[]) {\n this.loggers.debug(message, ...args)\n }\n}\n\n/**\n * Creates a new Logger instance with the specified namespace.\n * @param namespace The namespace to use for the logger\n * @returns A new Logger instance\n */\nexport function debug (namespace: string): Logger {\n return new Logger(namespace)\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParsedType = exports.ZodParsedType = exports.objectUtil = exports.util = void 0;\nvar util;\n(function (util) {\n util.assertEqual = (_) => { };\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && Number.isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array.map((val) => (typeof val === \"string\" ? `'${val}'` : val)).join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (exports.util = util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (exports.objectUtil = objectUtil = {}));\nexports.ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return exports.ZodParsedType.undefined;\n case \"string\":\n return exports.ZodParsedType.string;\n case \"number\":\n return Number.isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number;\n case \"boolean\":\n return exports.ZodParsedType.boolean;\n case \"function\":\n return exports.ZodParsedType.function;\n case \"bigint\":\n return exports.ZodParsedType.bigint;\n case \"symbol\":\n return exports.ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return exports.ZodParsedType.array;\n }\n if (data === null) {\n return exports.ZodParsedType.null;\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return exports.ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return exports.ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return exports.ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return exports.ZodParsedType.date;\n }\n return exports.ZodParsedType.object;\n default:\n return exports.ZodParsedType.unknown;\n }\n};\nexports.getParsedType = getParsedType;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZodError = exports.quotelessJson = exports.ZodIssueCode = void 0;\nconst util_js_1 = require(\"./helpers/util.cjs\");\nexports.ZodIssueCode = util_js_1.util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexports.quotelessJson = quotelessJson;\nclass ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util_js_1.util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n const firstEl = sub.path[0];\n fieldErrors[firstEl] = fieldErrors[firstEl] || [];\n fieldErrors[firstEl].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nexports.ZodError = ZodError;\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst ZodError_js_1 = require(\"../ZodError.cjs\");\nconst util_js_1 = require(\"../helpers/util.cjs\");\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodError_js_1.ZodIssueCode.invalid_type:\n if (issue.received === util_js_1.ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodError_js_1.ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util_js_1.util.jsonStringifyReplacer)}`;\n break;\n case ZodError_js_1.ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util_js_1.util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util_js_1.util.joinValues(issue.options)}`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util_js_1.util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util_js_1.util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodError_js_1.ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"bigint\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_js_1.ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_js_1.ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodError_js_1.ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodError_js_1.ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util_js_1.util.assertNever(issue);\n }\n return { message };\n};\nexports.default = errorMap;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultErrorMap = void 0;\nexports.setErrorMap = setErrorMap;\nexports.getErrorMap = getErrorMap;\nconst en_js_1 = __importDefault(require(\"./locales/en.cjs\"));\nexports.defaultErrorMap = en_js_1.default;\nlet overrideErrorMap = en_js_1.default;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.EMPTY_PATH = exports.makeIssue = void 0;\nexports.addIssueToContext = addIssueToContext;\nconst errors_js_1 = require(\"../errors.cjs\");\nconst en_js_1 = __importDefault(require(\"../locales/en.cjs\"));\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message,\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage,\n };\n};\nexports.makeIssue = makeIssue;\nexports.EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const overrideMap = (0, errors_js_1.getErrorMap)();\n const issue = (0, exports.makeIssue)({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap, // contextual error map is first priority\n ctx.schemaErrorMap, // then schema-bound map if available\n overrideMap, // then global override map\n overrideMap === en_js_1.default ? undefined : en_js_1.default, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return exports.INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return exports.INVALID;\n if (value.status === \"aborted\")\n return exports.INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" && (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexports.ParseStatus = ParseStatus;\nexports.INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nexports.DIRTY = DIRTY;\nconst OK = (value) => ({ status: \"valid\", value });\nexports.OK = OK;\nconst isAborted = (x) => x.status === \"aborted\";\nexports.isAborted = isAborted;\nconst isDirty = (x) => x.status === \"dirty\";\nexports.isDirty = isDirty;\nconst isValid = (x) => x.status === \"valid\";\nexports.isValid = isValid;\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\nexports.isAsync = isAsync;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorUtil = void 0;\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n // biome-ignore lint:\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message?.message;\n})(errorUtil || (exports.errorUtil = errorUtil = {}));\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.discriminatedUnion = exports.date = exports.boolean = exports.bigint = exports.array = exports.any = exports.coerce = exports.ZodFirstPartyTypeKind = exports.late = exports.ZodSchema = exports.Schema = exports.ZodReadonly = exports.ZodPipeline = exports.ZodBranded = exports.BRAND = exports.ZodNaN = exports.ZodCatch = exports.ZodDefault = exports.ZodNullable = exports.ZodOptional = exports.ZodTransformer = exports.ZodEffects = exports.ZodPromise = exports.ZodNativeEnum = exports.ZodEnum = exports.ZodLiteral = exports.ZodLazy = exports.ZodFunction = exports.ZodSet = exports.ZodMap = exports.ZodRecord = exports.ZodTuple = exports.ZodIntersection = exports.ZodDiscriminatedUnion = exports.ZodUnion = exports.ZodObject = exports.ZodArray = exports.ZodVoid = exports.ZodNever = exports.ZodUnknown = exports.ZodAny = exports.ZodNull = exports.ZodUndefined = exports.ZodSymbol = exports.ZodDate = exports.ZodBoolean = exports.ZodBigInt = exports.ZodNumber = exports.ZodString = exports.ZodType = void 0;\nexports.NEVER = exports.void = exports.unknown = exports.union = exports.undefined = exports.tuple = exports.transformer = exports.symbol = exports.string = exports.strictObject = exports.set = exports.record = exports.promise = exports.preprocess = exports.pipeline = exports.ostring = exports.optional = exports.onumber = exports.oboolean = exports.object = exports.number = exports.nullable = exports.null = exports.never = exports.nativeEnum = exports.nan = exports.map = exports.literal = exports.lazy = exports.intersection = exports.instanceof = exports.function = exports.enum = exports.effect = void 0;\nexports.datetimeRegex = datetimeRegex;\nexports.custom = custom;\nconst ZodError_js_1 = require(\"./ZodError.cjs\");\nconst errors_js_1 = require(\"./errors.cjs\");\nconst errorUtil_js_1 = require(\"./helpers/errorUtil.cjs\");\nconst parseUtil_js_1 = require(\"./helpers/parseUtil.cjs\");\nconst util_js_1 = require(\"./helpers/util.cjs\");\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (Array.isArray(this._key)) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if ((0, parseUtil_js_1.isValid)(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError_js_1.ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message ?? ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: message ?? required_error ?? ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: message ?? invalid_type_error ?? ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return (0, util_js_1.getParsedType)(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_js_1.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new parseUtil_js_1.ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_js_1.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if ((0, parseUtil_js_1.isAsync)(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n const ctx = {\n common: {\n issues: [],\n async: params?.async ?? false,\n contextualErrorMap: params?.errorMap,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return (0, parseUtil_js_1.isValid)(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if (err?.message?.toLowerCase()?.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => (0, parseUtil_js_1.isValid)(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params?.errorMap,\n async: true,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await ((0, parseUtil_js_1.isAsync)(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodError_js_1.ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\" ? refinementData(val, ctx) : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nexports.ZodType = ZodType;\nexports.Schema = ZodType;\nexports.ZodSchema = ZodType;\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&\u2019*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n let secondsRegexSource = `[0-5]\\\\d`;\n if (args.precision) {\n secondsRegexSource = `${secondsRegexSource}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n secondsRegexSource = `${secondsRegexSource}(\\\\.\\\\d+)?`;\n }\n const secondsQuantifier = args.precision ? \"+\" : \"?\"; // require seconds if precision is nonzero\n return `([01]\\\\d|2[0-3]):[0-5]\\\\d(:${secondsRegexSource})${secondsQuantifier}`;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nfunction datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n if (!header)\n return false;\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (\"typ\" in decoded && decoded?.typ !== \"JWT\")\n return false;\n if (!decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.string,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const status = new parseUtil_js_1.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"email\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"emoji\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"uuid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"nanoid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cuid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cuid2\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"ulid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"url\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"regex\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"duration\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"ip\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"jwt\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cidr\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"base64\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"base64url\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n datetime(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n offset: options?.offset ?? false,\n local: options?.local ?? false,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options?.position,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(1, errorUtil_js_1.errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch) => ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch) => ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch) => ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch) => ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch) => ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch) => ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch) => ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nexports.ZodString = ZodString;\nZodString.create = (params) => {\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.number,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n let ctx = undefined;\n const status = new parseUtil_js_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util_js_1.util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil_js_1.errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil_js_1.errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" || (ch.kind === \"multipleOf\" && util_js_1.util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null;\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" || ch.kind === \"int\" || ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nexports.ZodNumber = ZodNumber;\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new parseUtil_js_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil_js_1.errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nexports.ZodBigInt = ZodBigInt;\nZodBigInt.create = (params) => {\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodBoolean = ZodBoolean;\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.date,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (Number.isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_date,\n });\n return parseUtil_js_1.INVALID;\n }\n const status = new parseUtil_js_1.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nexports.ZodDate = ZodDate;\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: params?.coerce || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodSymbol = ZodSymbol;\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodUndefined = ZodUndefined;\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.null,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodNull = ZodNull;\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodAny = ZodAny;\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodUnknown = ZodUnknown;\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.never,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n}\nexports.ZodNever = ZodNever;\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.void,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodVoid = ZodVoid;\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== util_js_1.ZodParsedType.array) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: tooBig ? ZodError_js_1.ZodIssueCode.too_big : ZodError_js_1.ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return parseUtil_js_1.ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return parseUtil_js_1.ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodArray = ZodArray;\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util_js_1.util.objectKeys(shape);\n this._cached = { shape, keys };\n return this._cached;\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") {\n }\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil_js_1.errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: errorUtil_js_1.errorUtil.errToObj(message).message ?? defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n for (const key of util_js_1.util.objectKeys(mask)) {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util_js_1.util.objectKeys(this.shape));\n }\n}\nexports.ZodObject = ZodObject;\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError_js_1.ZodError(result.ctx.common.issues));\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError_js_1.ZodError(issues));\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_js_1.INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nexports.ZodUnion = ZodUnion;\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return util_js_1.util.objectValues(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else if (type instanceof ZodOptional) {\n return [undefined, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodNullable) {\n return [null, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n }\n else {\n return [];\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.object) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodDiscriminatedUnion = ZodDiscriminatedUnion;\nfunction mergeValues(a, b) {\n const aType = (0, util_js_1.getParsedType)(a);\n const bType = (0, util_js_1.getParsedType)(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === util_js_1.ZodParsedType.object && bType === util_js_1.ZodParsedType.object) {\n const bKeys = util_js_1.util.objectKeys(b);\n const sharedKeys = util_js_1.util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === util_js_1.ZodParsedType.array && bType === util_js_1.ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === util_js_1.ZodParsedType.date && bType === util_js_1.ZodParsedType.date && +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if ((0, parseUtil_js_1.isAborted)(parsedLeft) || (0, parseUtil_js_1.isAborted)(parsedRight)) {\n return parseUtil_js_1.INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_intersection_types,\n });\n return parseUtil_js_1.INVALID;\n }\n if ((0, parseUtil_js_1.isDirty)(parsedLeft) || (0, parseUtil_js_1.isDirty)(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nexports.ZodIntersection = ZodIntersection;\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\n// type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.array) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return parseUtil_js_1.INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return parseUtil_js_1.ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nexports.ZodTuple = ZodTuple;\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.object) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (ctx.common.async) {\n return parseUtil_js_1.ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nexports.ZodRecord = ZodRecord;\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.map) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.map,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return parseUtil_js_1.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return parseUtil_js_1.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nexports.ZodMap = ZodMap;\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.set) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.set,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodSet = ZodSet;\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.function) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.function,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n function makeArgsIssue(args, error) {\n return (0, parseUtil_js_1.makeIssue)({\n data: args,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, (0, errors_js_1.getErrorMap)(), errors_js_1.defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodError_js_1.ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return (0, parseUtil_js_1.makeIssue)({\n data: returns,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, (0, errors_js_1.getErrorMap)(), errors_js_1.defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodError_js_1.ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0, parseUtil_js_1.OK)(async function (...args) {\n const error = new ZodError_js_1.ZodError([]);\n const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0, parseUtil_js_1.OK)(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError_js_1.ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError_js_1.ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args ? args : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodFunction = ZodFunction;\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nexports.ZodLazy = ZodLazy;\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return parseUtil_js_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nexports.ZodLiteral = ZodLiteral;\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n expected: util_js_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_js_1.INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(this._def.values);\n }\n if (!this._cache.has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef,\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {\n ...this._def,\n ...newDef,\n });\n }\n}\nexports.ZodEnum = ZodEnum;\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util_js_1.util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.string && ctx.parsedType !== util_js_1.ZodParsedType.number) {\n const expectedValues = util_js_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n expected: util_js_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_js_1.INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(util_js_1.util.getValidEnumValues(this._def.values));\n }\n if (!this._cache.has(input.data)) {\n const expectedValues = util_js_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nexports.ZodNativeEnum = ZodNativeEnum;\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.promise && ctx.common.async === false) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const promisified = ctx.parsedType === util_js_1.ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);\n return (0, parseUtil_js_1.OK)(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nexports.ZodPromise = ZodPromise;\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n (0, parseUtil_js_1.addIssueToContext)(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed) => {\n if (status.value === \"aborted\")\n return parseUtil_js_1.INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (result.status === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n if (status.value === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return parseUtil_js_1.INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (result.status === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n if (status.value === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {\n if (inner.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!(0, parseUtil_js_1.isValid)(base))\n return parseUtil_js_1.INVALID;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {\n if (!(0, parseUtil_js_1.isValid)(base))\n return parseUtil_js_1.INVALID;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({\n status: status.value,\n value: result,\n }));\n });\n }\n }\n util_js_1.util.assertNever(effect);\n }\n}\nexports.ZodEffects = ZodEffects;\nexports.ZodTransformer = ZodEffects;\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_js_1.ZodParsedType.undefined) {\n return (0, parseUtil_js_1.OK)(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodOptional = ZodOptional;\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_js_1.ZodParsedType.null) {\n return (0, parseUtil_js_1.OK)(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodNullable = ZodNullable;\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === util_js_1.ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nexports.ZodDefault = ZodDefault;\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\" ? params.default : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if ((0, parseUtil_js_1.isAsync)(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError_js_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError_js_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nexports.ZodCatch = ZodCatch;\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nexports.ZodNaN = ZodNaN;\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nexports.BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nexports.ZodBranded = ZodBranded;\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return (0, parseUtil_js_1.DIRTY)(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nexports.ZodPipeline = ZodPipeline;\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if ((0, parseUtil_js_1.isValid)(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return (0, parseUtil_js_1.isAsync)(result) ? result.then((data) => freeze(data)) : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodReadonly = ZodReadonly;\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\n////////////////////////////////////////\n////////////////////////////////////////\n////////// //////////\n////////// z.custom //////////\n////////// //////////\n////////////////////////////////////////\n////////////////////////////////////////\nfunction cleanParams(params, data) {\n const p = typeof params === \"function\" ? params(data) : typeof params === \"string\" ? { message: params } : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n return p2;\n}\nfunction custom(check, _params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nexports.late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (exports.ZodFirstPartyTypeKind = ZodFirstPartyTypeKind = {}));\n// requires TS 4.4+\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nexports.instanceof = instanceOfType;\nconst stringType = ZodString.create;\nexports.string = stringType;\nconst numberType = ZodNumber.create;\nexports.number = numberType;\nconst nanType = ZodNaN.create;\nexports.nan = nanType;\nconst bigIntType = ZodBigInt.create;\nexports.bigint = bigIntType;\nconst booleanType = ZodBoolean.create;\nexports.boolean = booleanType;\nconst dateType = ZodDate.create;\nexports.date = dateType;\nconst symbolType = ZodSymbol.create;\nexports.symbol = symbolType;\nconst undefinedType = ZodUndefined.create;\nexports.undefined = undefinedType;\nconst nullType = ZodNull.create;\nexports.null = nullType;\nconst anyType = ZodAny.create;\nexports.any = anyType;\nconst unknownType = ZodUnknown.create;\nexports.unknown = unknownType;\nconst neverType = ZodNever.create;\nexports.never = neverType;\nconst voidType = ZodVoid.create;\nexports.void = voidType;\nconst arrayType = ZodArray.create;\nexports.array = arrayType;\nconst objectType = ZodObject.create;\nexports.object = objectType;\nconst strictObjectType = ZodObject.strictCreate;\nexports.strictObject = strictObjectType;\nconst unionType = ZodUnion.create;\nexports.union = unionType;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nexports.discriminatedUnion = discriminatedUnionType;\nconst intersectionType = ZodIntersection.create;\nexports.intersection = intersectionType;\nconst tupleType = ZodTuple.create;\nexports.tuple = tupleType;\nconst recordType = ZodRecord.create;\nexports.record = recordType;\nconst mapType = ZodMap.create;\nexports.map = mapType;\nconst setType = ZodSet.create;\nexports.set = setType;\nconst functionType = ZodFunction.create;\nexports.function = functionType;\nconst lazyType = ZodLazy.create;\nexports.lazy = lazyType;\nconst literalType = ZodLiteral.create;\nexports.literal = literalType;\nconst enumType = ZodEnum.create;\nexports.enum = enumType;\nconst nativeEnumType = ZodNativeEnum.create;\nexports.nativeEnum = nativeEnumType;\nconst promiseType = ZodPromise.create;\nexports.promise = promiseType;\nconst effectsType = ZodEffects.create;\nexports.effect = effectsType;\nexports.transformer = effectsType;\nconst optionalType = ZodOptional.create;\nexports.optional = optionalType;\nconst nullableType = ZodNullable.create;\nexports.nullable = nullableType;\nconst preprocessType = ZodEffects.createWithPreprocess;\nexports.preprocess = preprocessType;\nconst pipelineType = ZodPipeline.create;\nexports.pipeline = pipelineType;\nconst ostring = () => stringType().optional();\nexports.ostring = ostring;\nconst onumber = () => numberType().optional();\nexports.onumber = onumber;\nconst oboolean = () => booleanType().optional();\nexports.oboolean = oboolean;\nexports.coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nexports.NEVER = parseUtil_js_1.INVALID;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./errors.cjs\"), exports);\n__exportStar(require(\"./helpers/parseUtil.cjs\"), exports);\n__exportStar(require(\"./helpers/typeAliases.cjs\"), exports);\n__exportStar(require(\"./helpers/util.cjs\"), exports);\n__exportStar(require(\"./types.cjs\"), exports);\n__exportStar(require(\"./ZodError.cjs\"), exports);\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.z = void 0;\nconst z = __importStar(require(\"./v3/external.cjs\"));\nexports.z = z;\n__exportStar(require(\"./v3/external.cjs\"), exports);\nexports.default = z;\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing the types of actions.\n */\nexport enum ActionTypes {\n /**\n * Opens a URL in the default browser.\n */\n OpenUrl = 'openUrl',\n\n /**\n * Sends a message back to the bot as a simple string.\n */\n ImBack = 'imBack',\n\n /**\n * Sends a message back to the bot with additional data.\n */\n PostBack = 'postBack',\n\n /**\n * Plays an audio file.\n */\n PlayAudio = 'playAudio',\n\n /**\n * Plays a video file.\n */\n PlayVideo = 'playVideo',\n\n /**\n * Displays an image.\n */\n ShowImage = 'showImage',\n\n /**\n * Downloads a file.\n */\n DownloadFile = 'downloadFile',\n\n /**\n * Initiates a sign-in process.\n */\n Signin = 'signin',\n\n /**\n * Initiates a phone call.\n */\n Call = 'call',\n\n /**\n * Sends a message back to the bot with additional metadata.\n */\n MessageBack = 'messageBack',\n\n /**\n * Opens an application.\n */\n OpenApp = 'openApp',\n}\n\n/**\n * Zod schema for validating ActionTypes.\n */\nexport const actionTypesZodSchema = z.enum(['openUrl', 'imBack', 'postBack', 'playAudio', 'showImage', 'downloadFile', 'signin', 'call', 'messageBack', 'openApp'])\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing the state types of a semantic action.\n */\nexport enum SemanticActionStateTypes {\n /**\n * Indicates the start of a semantic action.\n */\n Start = 'start',\n\n /**\n * Indicates the continuation of a semantic action.\n */\n Continue = 'continue',\n\n /**\n * Indicates the completion of a semantic action.\n */\n Done = 'done',\n}\n\n/**\n * Zod schema for validating SemanticActionStateTypes.\n */\nexport const semanticActionStateTypesZodSchema = z.enum(['start', 'continue', 'done'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing the layout types for attachments.\n */\nexport enum AttachmentLayoutTypes {\n /**\n * Displays attachments in a list format.\n */\n List = 'list',\n\n /**\n * Displays attachments in a carousel format.\n */\n Carousel = 'carousel',\n}\n\n/**\n * Zod schema for validating attachment layout types.\n */\nexport const attachmentLayoutTypesZodSchema = z.enum(['list', 'carousel'])\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Enum representing the different channels an agent can communicate through.\n */\nexport enum Channels {\n /**\n * Represents the Alexa channel.\n */\n Alexa = 'alexa',\n\n /**\n * Represents the Console channel.\n */\n Console = 'console',\n\n /**\n * Represents the Directline channel.\n */\n Directline = 'directline',\n\n /**\n * Represents the Directline Speech channel.\n */\n DirectlineSpeech = 'directlinespeech',\n\n /**\n * Represents the Email channel.\n */\n Email = 'email',\n\n /**\n * Represents the Emulator channel.\n */\n Emulator = 'emulator',\n\n /**\n * Represents the Facebook channel.\n */\n Facebook = 'facebook',\n\n /**\n * Represents the GroupMe channel.\n */\n Groupme = 'groupme',\n\n /**\n * Represents the Line channel.\n */\n Line = 'line',\n\n /**\n * Represents the Microsoft Teams channel.\n */\n Msteams = 'msteams',\n\n /**\n * Represents the Omnichannel.\n */\n Omni = 'omnichannel',\n\n /**\n * Represents the Outlook channel.\n */\n Outlook = 'outlook',\n\n /**\n * Represents the Skype channel.\n */\n Skype = 'skype',\n\n /**\n * Represents the Slack channel.\n */\n Slack = 'slack',\n\n /**\n * Represents the SMS channel.\n */\n Sms = 'sms',\n\n /**\n * Represents the Telegram channel.\n */\n Telegram = 'telegram',\n\n /**\n * Represents the Telephony channel.\n */\n Telephony = 'telephony',\n\n /**\n * Represents the Test channel.\n */\n Test = 'test',\n\n /**\n * Represents the Webchat channel.\n */\n Webchat = 'webchat',\n}\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing the different end of conversation codes.\n */\nexport enum EndOfConversationCodes {\n /**\n * The end of conversation reason is unknown.\n */\n Unknown = 'unknown',\n\n /**\n * The conversation completed successfully.\n */\n CompletedSuccessfully = 'completedSuccessfully',\n\n /**\n * The user cancelled the conversation.\n */\n UserCancelled = 'userCancelled',\n\n /**\n * The agent timed out during the conversation.\n */\n AgentTimedOut = 'agentTimedOut',\n\n /**\n * The agent issued an invalid message.\n */\n AgentIssuedInvalidMessage = 'agentIssuedInvalidMessage',\n\n /**\n * The channel failed during the conversation.\n */\n ChannelFailed = 'channelFailed',\n}\n\n/**\n * Zod schema for validating end of conversation codes.\n */\nexport const endOfConversationCodesZodSchema = z.enum(['unknown', 'completedSuccessfully', 'userCancelled', 'agentTimedOut', 'agentIssuedInvalidMessage', 'channelFailed'])\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing the different role types in a conversation.\n */\nexport enum RoleTypes {\n /**\n * Represents a user in the conversation.\n */\n User = 'user',\n\n /**\n * Represents an agent or bot in the conversation.\n */\n Agent = 'bot',\n\n /**\n * Represents a skill in the conversation.\n */\n Skill = 'skill',\n}\n\n/**\n * Zod schema for validating role types.\n */\nexport const roleTypeZodSchema = z.enum(['user', 'bot', 'skill'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Activity } from '../activity'\nimport { Entity } from './entity'\n\n/**\n * Supported icon names for client citations. These icons are displayed in Teams to help users\n * identify the type of content being referenced in AI-generated responses.\n */\nexport type ClientCitationIconName =\n /** Microsoft Word document icon */\n | 'Microsoft Word'\n /** Microsoft Excel spreadsheet icon */\n | 'Microsoft Excel'\n /** Microsoft PowerPoint presentation icon */\n | 'Microsoft PowerPoint'\n /** Microsoft OneNote notebook icon */\n | 'Microsoft OneNote'\n /** Microsoft SharePoint site or document icon */\n | 'Microsoft SharePoint'\n /** Microsoft Visio diagram icon */\n | 'Microsoft Visio'\n /** Microsoft Loop component icon */\n | 'Microsoft Loop'\n /** Microsoft Whiteboard icon */\n | 'Microsoft Whiteboard'\n /** Adobe Illustrator vector graphics icon */\n | 'Adobe Illustrator'\n /** Adobe Photoshop image editing icon */\n | 'Adobe Photoshop'\n /** Adobe InDesign layout design icon */\n | 'Adobe InDesign'\n /** Adobe Flash multimedia icon */\n | 'Adobe Flash'\n /** Sketch design tool icon */\n | 'Sketch'\n /** Source code file icon */\n | 'Source Code'\n /** Generic image file icon */\n | 'Image'\n /** Animated GIF image icon */\n | 'GIF'\n /** Video file icon */\n | 'Video'\n /** Audio/sound file icon */\n | 'Sound'\n /** ZIP archive file icon */\n | 'ZIP'\n /** Plain text file icon */\n | 'Text'\n /** PDF document icon */\n | 'PDF'\n\n/**\n * Represents a Teams client citation to be included in a message.\n *\n * @remarks\n * [Learn more about Bot messages with AI-generated content](https://learn.microsoft.com/microsoftteams/platform/bots/how-to/bot-messages-ai-generated-content?tabs=before%2Cbotmessage)\n */\nexport interface ClientCitation {\n /**\n * Required; must be \"Claim\"\n */\n '@type': 'Claim';\n\n /**\n * Required. Number and position of the citation.\n */\n position: number;\n /**\n * Optional; if provided, the citation will be displayed in the message.\n */\n appearance: {\n /**\n * Required; Must be 'DigitalDocument'\n */\n '@type': 'DigitalDocument';\n\n /**\n * Name of the document. (max length 80)\n */\n name: string;\n\n /**\n * Stringified adaptive card with additional information about the citation.\n * It is rendered within the modal.\n */\n text?: string;\n\n /**\n * URL of the document. This will make the name of the citation clickable and direct the user to the specified URL.\n */\n url?: string;\n\n /**\n * Extract of the referenced content. (max length 160)\n */\n abstract: string;\n\n /**\n * Encoding format of the `citation.appearance.text` field.\n */\n encodingFormat?: 'application/vnd.microsoft.card.adaptive';\n\n /**\n * Information about the citation\u2019s icon.\n */\n image?: {\n '@type': 'ImageObject';\n\n /**\n * The image/icon name\n */\n name: ClientCitationIconName;\n };\n\n /**\n * Optional; set by developer. (max length 3) (max keyword length 28)\n */\n keywords?: string[];\n\n /**\n * Optional sensitivity content information.\n */\n usageInfo?: SensitivityUsageInfo;\n };\n}\n\n/**\n * Sensitivity usage info for content sent to the user.\n *\n * @remarks\n * This is used to provide information about the content to the user. See {@link ClientCitation} for more information.\n */\nexport interface SensitivityUsageInfo {\n /**\n * Must be \"https://schema.org/Message\"\n */\n type: 'https://schema.org/Message';\n\n /**\n * Required; Set to CreativeWork;\n */\n '@type': 'CreativeWork';\n\n /**\n * Sensitivity description of the content\n */\n description?: string;\n\n /**\n * Sensitivity title of the content\n */\n name: string;\n\n /**\n * Optional; ignored in Teams.\n */\n position?: number;\n\n /**\n * Optional; if provided, the content is considered sensitive and should be handled accordingly.\n */\n pattern?: {\n /**\n * Set to DefinedTerm\n */\n '@type': 'DefinedTerm';\n\n inDefinedTermSet: string;\n\n /**\n * Color\n */\n name: string;\n\n /**\n * e.g. #454545\n */\n termCode: string;\n };\n}\n\nexport interface AIEntity extends Entity {\n /**\n * Required as 'https://schema.org/Message'\n */\n type: 'https://schema.org/Message';\n\n /**\n * Required as 'Message\n */\n '@type': 'Message';\n\n /**\n * Required as 'https://schema.org\n */\n '@context': 'https://schema.org';\n\n /**\n * Must be left blank. This is for Bot Framework schema.\n */\n '@id': '';\n\n /**\n * Indicate that the content was generated by AI.\n */\n additionalType: ['AIGeneratedContent'];\n\n /**\n * Optional; if citations object is included, the sent activity will include the citations, referenced in the activity text.\n */\n citation?: ClientCitation[];\n\n /**\n * Optional; if usage_info object is included, the sent activity will include the sensitivity usage information.\n */\n usageInfo?: SensitivityUsageInfo;\n}\n\n/**\n * Adds an AI entity to an activity to indicate that the content was generated by AI.\n *\n * @param activity - The activity to which the AI entity will be added. The activity's entities array will be initialized if it doesn't exist.\n * @param citations - Optional array of client citations to include with the AI-generated content.\n * Citations provide references to sources used in generating the content and are displayed in Teams.\n * @param usageInfo - Optional sensitivity usage information that provides context about the content's sensitivity level.\n * This helps users understand any special handling requirements for the content.\n *\n * @remarks\n * This function enhances the activity with metadata that helps clients (like Microsoft Teams)\n * understand that the content is AI-generated and optionally includes citations and sensitivity information.\n *\n * @example\n * ```typescript\n * import { Activity } from '../activity';\n * import { addAIToActivity, ClientCitation } from './AIEntity';\n *\n * const activity: Activity = {\n * type: 'message',\n * text: 'Based on the documents, here are the key findings...'\n * };\n *\n * const citations: ClientCitation[] = [{\n * '@type': 'Claim',\n * position: 1,\n * appearance: {\n * '@type': 'DigitalDocument',\n * name: 'Research Report 2024',\n * abstract: 'Key findings from the annual research report',\n * url: 'https://example.com/report.pdf',\n * image: {\n * '@type': 'ImageObject',\n * name: 'PDF'\n * }\n * }\n * }];\n *\n * // Add AI entity with citations\n * addAIToActivity(activity, citations);\n * ```\n */\nexport const addAIToActivity = (\n activity: Activity,\n citations?: ClientCitation[],\n usageInfo?: SensitivityUsageInfo\n): void => {\n const aiEntity: AIEntity = {\n type: 'https://schema.org/Message',\n '@type': 'Message',\n '@context': 'https://schema.org',\n '@id': '',\n additionalType: ['AIGeneratedContent'],\n citation: citations,\n usageInfo\n }\n activity.entities ??= []\n activity.entities.push(aiEntity)\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Represents an adaptive card invoke action.\n */\nexport interface AdaptiveCardInvokeAction {\n /**\n * The type of the action.\n */\n type: string\n /**\n * The unique identifier of the action.\n */\n id?: string\n /**\n * The verb associated with the action.\n */\n verb: string\n /**\n * Additional data associated with the action.\n */\n data: Record<string, any>\n}\n\n/**\n * Zod schema for validating an adaptive card invoke action.\n */\nexport const adaptiveCardInvokeActionZodSchema = z.object({\n type: z.string().min(1),\n id: z.string().optional(),\n verb: z.string().min(1),\n data: z.record(z.string().min(1), z.any())\n})\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = 'ffffffff-ffff-ffff-ffff-ffffffffffff';\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = '00000000-0000-0000-0000-000000000000';\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst regex_js_1 = require(\"./regex.js\");\nfunction validate(uuid) {\n return typeof uuid === 'string' && regex_js_1.default.test(uuid);\n}\nexports.default = validate;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst validate_js_1 = require(\"./validate.js\");\nfunction parse(uuid) {\n if (!(0, validate_js_1.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n let v;\n return Uint8Array.of((v = parseInt(uuid.slice(0, 8), 16)) >>> 24, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff, (v = parseInt(uuid.slice(9, 13), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(14, 18), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(19, 23), 16)) >>> 8, v & 0xff, ((v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000) & 0xff, (v / 0x100000000) & 0xff, (v >>> 24) & 0xff, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff);\n}\nexports.default = parse;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unsafeStringify = void 0;\nconst validate_js_1 = require(\"./validate.js\");\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nfunction unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nexports.unsafeStringify = unsafeStringify;\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!(0, validate_js_1.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexports.default = stringify;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nfunction rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\nexports.default = rng;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateV1State = void 0;\nconst rng_js_1 = require(\"./rng.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nconst _state = {};\nfunction v1(options, buf, offset) {\n let bytes;\n const isV6 = options?._v6 ?? false;\n if (options) {\n const optionsKeys = Object.keys(options);\n if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') {\n options = undefined;\n }\n }\n if (options) {\n bytes = v1Bytes(options.random ?? options.rng?.() ?? (0, rng_js_1.default)(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset);\n }\n else {\n const now = Date.now();\n const rnds = (0, rng_js_1.default)();\n updateV1State(_state, now, rnds);\n bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);\n }\n return buf ?? (0, stringify_js_1.unsafeStringify)(bytes);\n}\nfunction updateV1State(state, now, rnds) {\n state.msecs ??= -Infinity;\n state.nsecs ??= 0;\n if (now === state.msecs) {\n state.nsecs++;\n if (state.nsecs >= 10000) {\n state.node = undefined;\n state.nsecs = 0;\n }\n }\n else if (now > state.msecs) {\n state.nsecs = 0;\n }\n else if (now < state.msecs) {\n state.node = undefined;\n }\n if (!state.node) {\n state.node = rnds.slice(10, 16);\n state.node[0] |= 0x01;\n state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n }\n state.msecs = now;\n return state;\n}\nexports.updateV1State = updateV1State;\nfunction v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) {\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n if (!buf) {\n buf = new Uint8Array(16);\n offset = 0;\n }\n else {\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n }\n msecs ??= Date.now();\n nsecs ??= 0;\n clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n node ??= rnds.slice(10, 16);\n msecs += 12219292800000;\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n buf[offset++] = (tl >>> 24) & 0xff;\n buf[offset++] = (tl >>> 16) & 0xff;\n buf[offset++] = (tl >>> 8) & 0xff;\n buf[offset++] = tl & 0xff;\n const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff;\n buf[offset++] = (tmh >>> 8) & 0xff;\n buf[offset++] = tmh & 0xff;\n buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10;\n buf[offset++] = (tmh >>> 16) & 0xff;\n buf[offset++] = (clockseq >>> 8) | 0x80;\n buf[offset++] = clockseq & 0xff;\n for (let n = 0; n < 6; ++n) {\n buf[offset++] = node[n];\n }\n return buf;\n}\nexports.default = v1;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst parse_js_1 = require(\"./parse.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction v1ToV6(uuid) {\n const v1Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid;\n const v6Bytes = _v1ToV6(v1Bytes);\n return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v6Bytes) : v6Bytes;\n}\nexports.default = v1ToV6;\nfunction _v1ToV6(v1Bytes) {\n return Uint8Array.of(((v1Bytes[6] & 0x0f) << 4) | ((v1Bytes[7] >> 4) & 0x0f), ((v1Bytes[7] & 0x0f) << 4) | ((v1Bytes[4] & 0xf0) >> 4), ((v1Bytes[4] & 0x0f) << 4) | ((v1Bytes[5] & 0xf0) >> 4), ((v1Bytes[5] & 0x0f) << 4) | ((v1Bytes[0] & 0xf0) >> 4), ((v1Bytes[0] & 0x0f) << 4) | ((v1Bytes[1] & 0xf0) >> 4), ((v1Bytes[1] & 0x0f) << 4) | ((v1Bytes[2] & 0xf0) >> 4), 0x60 | (v1Bytes[2] & 0x0f), v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]);\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction md5(bytes) {\n const words = uint8ToUint32(bytes);\n const md5Bytes = wordsToMd5(words, bytes.length * 8);\n return uint32ToUint8(md5Bytes);\n}\nfunction uint32ToUint8(input) {\n const bytes = new Uint8Array(input.length * 4);\n for (let i = 0; i < input.length * 4; i++) {\n bytes[i] = (input[i >> 2] >>> ((i % 4) * 8)) & 0xff;\n }\n return bytes;\n}\nfunction getOutputLength(inputLength8) {\n return (((inputLength8 + 64) >>> 9) << 4) + 14 + 1;\n}\nfunction wordsToMd5(x, len) {\n const xpad = new Uint32Array(getOutputLength(len)).fill(0);\n xpad.set(x);\n xpad[len >> 5] |= 0x80 << len % 32;\n xpad[xpad.length - 1] = len;\n x = xpad;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n return Uint32Array.of(a, b, c, d);\n}\nfunction uint8ToUint32(input) {\n if (input.length === 0) {\n return new Uint32Array();\n }\n const output = new Uint32Array(getOutputLength(input.length * 8)).fill(0);\n for (let i = 0; i < input.length; i++) {\n output[i >> 2] |= (input[i] & 0xff) << ((i % 4) * 8);\n }\n return output;\n}\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xffff);\n}\nfunction bitRotateLeft(num, cnt) {\n return (num << cnt) | (num >>> (32 - cnt));\n}\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn((b & c) | (~b & d), a, b, x, s, t);\n}\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\nexports.default = md5;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = exports.stringToBytes = void 0;\nconst parse_js_1 = require(\"./parse.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str));\n const bytes = new Uint8Array(str.length);\n for (let i = 0; i < str.length; ++i) {\n bytes[i] = str.charCodeAt(i);\n }\n return bytes;\n}\nexports.stringToBytes = stringToBytes;\nexports.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nfunction v35(version, hash, value, namespace, buf, offset) {\n const valueBytes = typeof value === 'string' ? stringToBytes(value) : value;\n const namespaceBytes = typeof namespace === 'string' ? (0, parse_js_1.default)(namespace) : namespace;\n if (typeof namespace === 'string') {\n namespace = (0, parse_js_1.default)(namespace);\n }\n if (namespace?.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n }\n let bytes = new Uint8Array(16 + valueBytes.length);\n bytes.set(namespaceBytes);\n bytes.set(valueBytes, namespaceBytes.length);\n bytes = hash(bytes);\n bytes[6] = (bytes[6] & 0x0f) | version;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n return buf;\n }\n return (0, stringify_js_1.unsafeStringify)(bytes);\n}\nexports.default = v35;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = void 0;\nconst md5_js_1 = require(\"./md5.js\");\nconst v35_js_1 = require(\"./v35.js\");\nvar v35_js_2 = require(\"./v35.js\");\nObject.defineProperty(exports, \"DNS\", { enumerable: true, get: function () { return v35_js_2.DNS; } });\nObject.defineProperty(exports, \"URL\", { enumerable: true, get: function () { return v35_js_2.URL; } });\nfunction v3(value, namespace, buf, offset) {\n return (0, v35_js_1.default)(0x30, md5_js_1.default, value, namespace, buf, offset);\n}\nv3.DNS = v35_js_1.DNS;\nv3.URL = v35_js_1.URL;\nexports.default = v3;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexports.default = { randomUUID };\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst native_js_1 = require(\"./native.js\");\nconst rng_js_1 = require(\"./rng.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction v4(options, buf, offset) {\n if (native_js_1.default.randomUUID && !buf && !options) {\n return native_js_1.default.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? (0, rng_js_1.default)();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return (0, stringify_js_1.unsafeStringify)(rnds);\n}\nexports.default = v4;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return (x & y) ^ (~x & z);\n case 1:\n return x ^ y ^ z;\n case 2:\n return (x & y) ^ (x & z) ^ (y & z);\n case 3:\n return x ^ y ^ z;\n }\n}\nfunction ROTL(x, n) {\n return (x << n) | (x >>> (32 - n));\n}\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n const newBytes = new Uint8Array(bytes.length + 1);\n newBytes.set(bytes);\n newBytes[bytes.length] = 0x80;\n bytes = newBytes;\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n for (let j = 0; j < 16; ++j) {\n arr[j] =\n (bytes[i * 64 + j * 4] << 24) |\n (bytes[i * 64 + j * 4 + 1] << 16) |\n (bytes[i * 64 + j * 4 + 2] << 8) |\n bytes[i * 64 + j * 4 + 3];\n }\n M[i] = arr;\n }\n M[N - 1][14] = ((bytes.length - 1) * 8) / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = ((bytes.length - 1) * 8) & 0xffffffff;\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = (ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t]) >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n H[0] = (H[0] + a) >>> 0;\n H[1] = (H[1] + b) >>> 0;\n H[2] = (H[2] + c) >>> 0;\n H[3] = (H[3] + d) >>> 0;\n H[4] = (H[4] + e) >>> 0;\n }\n return Uint8Array.of(H[0] >> 24, H[0] >> 16, H[0] >> 8, H[0], H[1] >> 24, H[1] >> 16, H[1] >> 8, H[1], H[2] >> 24, H[2] >> 16, H[2] >> 8, H[2], H[3] >> 24, H[3] >> 16, H[3] >> 8, H[3], H[4] >> 24, H[4] >> 16, H[4] >> 8, H[4]);\n}\nexports.default = sha1;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = void 0;\nconst sha1_js_1 = require(\"./sha1.js\");\nconst v35_js_1 = require(\"./v35.js\");\nvar v35_js_2 = require(\"./v35.js\");\nObject.defineProperty(exports, \"DNS\", { enumerable: true, get: function () { return v35_js_2.DNS; } });\nObject.defineProperty(exports, \"URL\", { enumerable: true, get: function () { return v35_js_2.URL; } });\nfunction v5(value, namespace, buf, offset) {\n return (0, v35_js_1.default)(0x50, sha1_js_1.default, value, namespace, buf, offset);\n}\nv5.DNS = v35_js_1.DNS;\nv5.URL = v35_js_1.URL;\nexports.default = v5;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst stringify_js_1 = require(\"./stringify.js\");\nconst v1_js_1 = require(\"./v1.js\");\nconst v1ToV6_js_1 = require(\"./v1ToV6.js\");\nfunction v6(options, buf, offset) {\n options ??= {};\n offset ??= 0;\n let bytes = (0, v1_js_1.default)({ ...options, _v6: true }, new Uint8Array(16));\n bytes = (0, v1ToV6_js_1.default)(bytes);\n if (buf) {\n for (let i = 0; i < 16; i++) {\n buf[offset + i] = bytes[i];\n }\n return buf;\n }\n return (0, stringify_js_1.unsafeStringify)(bytes);\n}\nexports.default = v6;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst parse_js_1 = require(\"./parse.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction v6ToV1(uuid) {\n const v6Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid;\n const v1Bytes = _v6ToV1(v6Bytes);\n return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v1Bytes) : v1Bytes;\n}\nexports.default = v6ToV1;\nfunction _v6ToV1(v6Bytes) {\n return Uint8Array.of(((v6Bytes[3] & 0x0f) << 4) | ((v6Bytes[4] >> 4) & 0x0f), ((v6Bytes[4] & 0x0f) << 4) | ((v6Bytes[5] & 0xf0) >> 4), ((v6Bytes[5] & 0x0f) << 4) | (v6Bytes[6] & 0x0f), v6Bytes[7], ((v6Bytes[1] & 0x0f) << 4) | ((v6Bytes[2] & 0xf0) >> 4), ((v6Bytes[2] & 0x0f) << 4) | ((v6Bytes[3] & 0xf0) >> 4), 0x10 | ((v6Bytes[0] & 0xf0) >> 4), ((v6Bytes[0] & 0x0f) << 4) | ((v6Bytes[1] & 0xf0) >> 4), v6Bytes[8], v6Bytes[9], v6Bytes[10], v6Bytes[11], v6Bytes[12], v6Bytes[13], v6Bytes[14], v6Bytes[15]);\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateV7State = void 0;\nconst rng_js_1 = require(\"./rng.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nconst _state = {};\nfunction v7(options, buf, offset) {\n let bytes;\n if (options) {\n bytes = v7Bytes(options.random ?? options.rng?.() ?? (0, rng_js_1.default)(), options.msecs, options.seq, buf, offset);\n }\n else {\n const now = Date.now();\n const rnds = (0, rng_js_1.default)();\n updateV7State(_state, now, rnds);\n bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset);\n }\n return buf ?? (0, stringify_js_1.unsafeStringify)(bytes);\n}\nfunction updateV7State(state, now, rnds) {\n state.msecs ??= -Infinity;\n state.seq ??= 0;\n if (now > state.msecs) {\n state.seq = (rnds[6] << 23) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9];\n state.msecs = now;\n }\n else {\n state.seq = (state.seq + 1) | 0;\n if (state.seq === 0) {\n state.msecs++;\n }\n }\n return state;\n}\nexports.updateV7State = updateV7State;\nfunction v7Bytes(rnds, msecs, seq, buf, offset = 0) {\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n if (!buf) {\n buf = new Uint8Array(16);\n offset = 0;\n }\n else {\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n }\n msecs ??= Date.now();\n seq ??= ((rnds[6] * 0x7f) << 24) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9];\n buf[offset++] = (msecs / 0x10000000000) & 0xff;\n buf[offset++] = (msecs / 0x100000000) & 0xff;\n buf[offset++] = (msecs / 0x1000000) & 0xff;\n buf[offset++] = (msecs / 0x10000) & 0xff;\n buf[offset++] = (msecs / 0x100) & 0xff;\n buf[offset++] = msecs & 0xff;\n buf[offset++] = 0x70 | ((seq >>> 28) & 0x0f);\n buf[offset++] = (seq >>> 20) & 0xff;\n buf[offset++] = 0x80 | ((seq >>> 14) & 0x3f);\n buf[offset++] = (seq >>> 6) & 0xff;\n buf[offset++] = ((seq << 2) & 0xff) | (rnds[10] & 0x03);\n buf[offset++] = rnds[11];\n buf[offset++] = rnds[12];\n buf[offset++] = rnds[13];\n buf[offset++] = rnds[14];\n buf[offset++] = rnds[15];\n return buf;\n}\nexports.default = v7;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst validate_js_1 = require(\"./validate.js\");\nfunction version(uuid) {\n if (!(0, validate_js_1.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n return parseInt(uuid.slice(14, 15), 16);\n}\nexports.default = version;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.version = exports.validate = exports.v7 = exports.v6ToV1 = exports.v6 = exports.v5 = exports.v4 = exports.v3 = exports.v1ToV6 = exports.v1 = exports.stringify = exports.parse = exports.NIL = exports.MAX = void 0;\nvar max_js_1 = require(\"./max.js\");\nObject.defineProperty(exports, \"MAX\", { enumerable: true, get: function () { return max_js_1.default; } });\nvar nil_js_1 = require(\"./nil.js\");\nObject.defineProperty(exports, \"NIL\", { enumerable: true, get: function () { return nil_js_1.default; } });\nvar parse_js_1 = require(\"./parse.js\");\nObject.defineProperty(exports, \"parse\", { enumerable: true, get: function () { return parse_js_1.default; } });\nvar stringify_js_1 = require(\"./stringify.js\");\nObject.defineProperty(exports, \"stringify\", { enumerable: true, get: function () { return stringify_js_1.default; } });\nvar v1_js_1 = require(\"./v1.js\");\nObject.defineProperty(exports, \"v1\", { enumerable: true, get: function () { return v1_js_1.default; } });\nvar v1ToV6_js_1 = require(\"./v1ToV6.js\");\nObject.defineProperty(exports, \"v1ToV6\", { enumerable: true, get: function () { return v1ToV6_js_1.default; } });\nvar v3_js_1 = require(\"./v3.js\");\nObject.defineProperty(exports, \"v3\", { enumerable: true, get: function () { return v3_js_1.default; } });\nvar v4_js_1 = require(\"./v4.js\");\nObject.defineProperty(exports, \"v4\", { enumerable: true, get: function () { return v4_js_1.default; } });\nvar v5_js_1 = require(\"./v5.js\");\nObject.defineProperty(exports, \"v5\", { enumerable: true, get: function () { return v5_js_1.default; } });\nvar v6_js_1 = require(\"./v6.js\");\nObject.defineProperty(exports, \"v6\", { enumerable: true, get: function () { return v6_js_1.default; } });\nvar v6ToV1_js_1 = require(\"./v6ToV1.js\");\nObject.defineProperty(exports, \"v6ToV1\", { enumerable: true, get: function () { return v6ToV1_js_1.default; } });\nvar v7_js_1 = require(\"./v7.js\");\nObject.defineProperty(exports, \"v7\", { enumerable: true, get: function () { return v7_js_1.default; } });\nvar validate_js_1 = require(\"./validate.js\");\nObject.defineProperty(exports, \"validate\", { enumerable: true, get: function () { return validate_js_1.default; } });\nvar version_js_1 = require(\"./version.js\");\nObject.defineProperty(exports, \"version\", { enumerable: true, get: function () { return version_js_1.default; } });\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Represents a generic Entity.\n */\nexport interface Entity {\n /**\n * The type of the entity.\n */\n type: string\n /**\n * Additional properties of the entity.\n */\n [key: string]: unknown\n}\n\n/**\n * Zod schema for validating Entity objects.\n */\nexport const entityZodSchema = z.object({\n type: z.string().min(1)\n}).passthrough()\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { Entity, entityZodSchema } from '../entity/entity'\nimport { SemanticActionStateTypes, semanticActionStateTypesZodSchema } from './semanticActionStateTypes'\n\n/**\n * Represents a semantic action.\n */\nexport interface SemanticAction {\n /**\n * Unique identifier for the semantic action.\n */\n id: string\n /**\n * State of the semantic action.\n */\n state: SemanticActionStateTypes | string\n /**\n * Entities associated with the semantic action.\n */\n entities: { [propertyName: string]: Entity }\n}\n\n/**\n * Zod schema for validating SemanticAction.\n */\nexport const semanticActionZodSchema = z.object({\n id: z.string().min(1),\n state: z.union([semanticActionStateTypesZodSchema, z.string().min(1)]),\n entities: z.record(entityZodSchema)\n})\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { ActionTypes, actionTypesZodSchema } from './actionTypes'\n\n/**\n * Represents a card action.\n */\nexport interface CardAction {\n /**\n * Type of the action.\n */\n type: ActionTypes | string\n /**\n * Title of the action.\n */\n title: string\n /**\n * URL of the image associated with the action.\n */\n image?: string\n /**\n * Text associated with the action.\n */\n text?: string\n /**\n * Display text for the action.\n */\n displayText?: string\n /**\n * Value associated with the action.\n */\n value?: any\n /**\n * Channel-specific data associated with the action.\n */\n channelData?: unknown\n /**\n * Alt text for the image.\n */\n imageAltText?: string\n}\n\n/**\n * Zod schema for validating CardAction.\n */\nexport const cardActionZodSchema = z.object({\n type: z.union([actionTypesZodSchema, z.string().min(1)]),\n title: z.string().min(1),\n image: z.string().min(1).optional(),\n text: z.string().min(1).optional(),\n displayText: z.string().min(1).optional(),\n value: z.any().optional(),\n channelData: z.unknown().optional(),\n imageAltText: z.string().min(1).optional()\n})\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { CardAction, cardActionZodSchema } from './cardAction'\n\n/**\n * Represents suggested actions.\n */\nexport interface SuggestedActions {\n /**\n * Array of recipient IDs.\n */\n to: string[]\n /**\n * Array of card actions.\n */\n actions: CardAction[]\n}\n\n/**\n * Zod schema for validating SuggestedActions.\n */\nexport const suggestedActionsZodSchema = z.object({\n to: z.array(z.string().min(1)),\n actions: z.array(cardActionZodSchema)\n})\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing activity event names.\n */\nexport enum ActivityEventNames {\n /**\n * Event name for continuing a conversation.\n */\n ContinueConversation = 'ContinueConversation',\n\n /**\n * Event name for creating a new conversation.\n */\n CreateConversation = 'CreateConversation',\n}\n\n/**\n * Zod schema for validating an ActivityEventNames enum.\n */\nexport const activityEventNamesZodSchema = z.enum(['ContinueConversation', 'CreateConversation'])\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing activity importance levels.\n */\nexport enum ActivityImportance {\n /**\n * Indicates low importance.\n */\n Low = 'low',\n\n /**\n * Indicates normal importance.\n */\n Normal = 'normal',\n\n /**\n * Indicates high importance.\n */\n High = 'high',\n}\n\n/**\n * Zod schema for validating an ActivityImportance enum.\n */\nexport const activityImportanceZodSchema = z.enum(['low', 'normal', 'high'])\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing activity types.\n */\nexport enum ActivityTypes {\n /**\n * A message activity.\n */\n Message = 'message',\n\n /**\n * An update to a contact relationship.\n */\n ContactRelationUpdate = 'contactRelationUpdate',\n\n /**\n * An update to a conversation.\n */\n ConversationUpdate = 'conversationUpdate',\n\n /**\n * A typing indicator activity.\n */\n Typing = 'typing',\n\n /**\n * Indicates the end of a conversation.\n */\n EndOfConversation = 'endOfConversation',\n\n /**\n * An event activity.\n */\n Event = 'event',\n\n /**\n * An invoke activity.\n */\n Invoke = 'invoke',\n\n /**\n * A response to an invoke activity.\n */\n InvokeResponse = 'invokeResponse',\n\n /**\n * An activity to delete user data.\n */\n DeleteUserData = 'deleteUserData',\n\n /**\n * An update to a message.\n */\n MessageUpdate = 'messageUpdate',\n\n /**\n * A deletion of a message.\n */\n MessageDelete = 'messageDelete',\n\n /**\n * An update to an installation.\n */\n InstallationUpdate = 'installationUpdate',\n\n /**\n * A reaction to a message.\n */\n MessageReaction = 'messageReaction',\n\n /**\n * A suggestion activity.\n */\n Suggestion = 'suggestion',\n\n /**\n * A trace activity for debugging.\n */\n Trace = 'trace',\n\n /**\n * A handoff activity to another bot or human.\n */\n Handoff = 'handoff',\n\n /**\n * A command activity.\n */\n Command = 'command',\n\n /**\n * A result of a command activity.\n */\n CommandResult = 'commandResult',\n\n /**\n * A delay activity.\n */\n Delay = 'delay'\n}\n\n/**\n * Zod schema for validating an ActivityTypes enum.\n */\nexport const activityTypesZodSchema = z.enum([\n 'message',\n 'contactRelationUpdate',\n 'conversationUpdate',\n 'typing',\n 'endOfConversation',\n 'event',\n 'invoke',\n 'invokeResponse',\n 'deleteUserData',\n 'messageUpdate',\n 'messageDelete',\n 'installationUpdate',\n 'messageReaction',\n 'suggestion',\n 'trace',\n 'handoff',\n 'command',\n 'commandResult',\n 'delay'\n])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Represents an attachment.\n */\nexport interface Attachment {\n /**\n * The MIME type of the attachment content.\n */\n contentType: string\n\n /**\n * The URL of the attachment content.\n */\n contentUrl?: string\n\n /**\n * The content of the attachment.\n */\n content?: unknown\n\n /**\n * The name of the attachment.\n */\n name?: string\n\n /**\n * The URL of the thumbnail for the attachment.\n */\n thumbnailUrl?: string\n}\n\n/**\n * Zod schema for validating attachments.\n */\nexport const attachmentZodSchema = z.object({\n contentType: z.string().min(1),\n contentUrl: z.string().min(1).optional(),\n content: z.unknown().optional(),\n name: z.string().min(1).optional(),\n thumbnailUrl: z.string().min(1).optional()\n})\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { roleTypeZodSchema, RoleTypes } from './roleTypes'\n\n/**\n * Represents a channel account.\n */\nexport interface ChannelAccount {\n /**\n * The unique identifier of the channel account.\n */\n id?: string\n\n /**\n * The name of the channel account.\n */\n name?: string\n\n /**\n * The Azure Active Directory object ID of the channel account.\n */\n aadObjectId?: string\n\n /**\n * The role of the channel account.\n */\n role?: RoleTypes | string\n\n /**\n * Additional properties of the channel account.\n */\n properties?: unknown\n}\n\n/**\n * Zod schema for validating a channel account.\n */\nexport const channelAccountZodSchema = z.object({\n id: z.string().min(1).optional(),\n name: z.string().optional(),\n aadObjectId: z.string().min(1).optional(),\n role: z.union([roleTypeZodSchema, z.string().min(1)]).optional(),\n properties: z.unknown().optional()\n})\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { roleTypeZodSchema, RoleTypes } from './roleTypes'\n\n/**\n * Represents a conversation account.\n */\nexport interface ConversationAccount {\n /**\n * The unique identifier of the conversation account.\n */\n id: string\n\n /**\n * The type of the conversation (e.g., personal, group, etc.).\n */\n conversationType?: string\n\n /**\n * The tenant ID associated with the conversation account.\n */\n tenantId?: string\n\n /**\n * Indicates whether the conversation is a group.\n */\n isGroup?: boolean\n\n /**\n * The name of the conversation account.\n */\n name?: string\n\n /**\n * The Azure Active Directory object ID of the conversation account.\n */\n aadObjectId?: string\n\n /**\n * The role of the conversation account.\n */\n role?: RoleTypes | string\n\n /**\n * Additional properties of the conversation account.\n */\n properties?: unknown\n}\n\n/**\n * Zod schema for validating a conversation account.\n */\nexport const conversationAccountZodSchema = z.object({\n isGroup: z.boolean().optional(),\n conversationType: z.string().min(1).optional(),\n tenantId: z.string().min(1).optional(),\n id: z.string().min(1),\n name: z.string().min(1).optional(),\n aadObjectId: z.string().min(1).optional(),\n role: z.union([roleTypeZodSchema, z.string().min(1)]).optional(),\n properties: z.unknown().optional()\n})\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { ChannelAccount, channelAccountZodSchema } from './channelAccount'\nimport { ConversationAccount, conversationAccountZodSchema } from './conversationAccount'\n\n/**\n * Represents a reference to a conversation.\n */\nexport interface ConversationReference {\n /**\n * The ID of the activity. Optional.\n */\n activityId?: string\n\n /**\n * The user involved in the conversation. Optional.\n */\n user?: ChannelAccount\n\n /**\n * The locale of the conversation. Optional.\n */\n locale?: string\n\n /**\n * The agent involved in the conversation. Can be undefined or null. Optional.\n */\n agent?: ChannelAccount | undefined | null\n\n /**\n * The conversation account details.\n */\n conversation: ConversationAccount\n\n /**\n * The ID of the channel where the conversation is taking place.\n */\n channelId: string\n\n /**\n * The service URL for the conversation. Optional.\n */\n serviceUrl?: string | undefined\n}\n\n/**\n * Zod schema for validating a conversation reference.\n */\nexport const conversationReferenceZodSchema = z.object({\n activityId: z.string().min(1).optional(),\n user: channelAccountZodSchema.optional(),\n locale: z.string().min(1).optional(),\n agent: channelAccountZodSchema.optional().nullable(),\n conversation: conversationAccountZodSchema,\n channelId: z.string().min(1),\n serviceUrl: z.string().min(1).optional()\n})\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing delivery modes.\n */\nexport enum DeliveryModes {\n /**\n * Represents the normal delivery mode.\n */\n Normal = 'normal',\n\n /**\n * Represents a notification delivery mode.\n */\n Notification = 'notification',\n\n /**\n * Represents a delivery mode where replies are expected.\n */\n ExpectReplies = 'expectReplies',\n\n /**\n * Represents an ephemeral delivery mode.\n */\n Ephemeral = 'ephemeral',\n}\n\n/**\n * Zod schema for validating a DeliveryModes enum.\n */\nexport const deliveryModesZodSchema = z.enum(['normal', 'notification', 'expectReplies', 'ephemeral'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing input hints.\n */\nexport enum InputHints {\n /**\n * Indicates that the bot is ready to accept input from the user.\n */\n AcceptingInput = 'acceptingInput',\n\n /**\n * Indicates that the bot is ignoring input from the user.\n */\n IgnoringInput = 'ignoringInput',\n\n /**\n * Indicates that the bot is expecting input from the user.\n */\n ExpectingInput = 'expectingInput',\n}\n\n/**\n * Zod schema for validating an InputHints enum.\n */\nexport const inputHintsZodSchema = z.enum(['acceptingInput', 'ignoringInput', 'expectingInput'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing message reaction types.\n */\nexport enum MessageReactionTypes {\n /**\n * Represents a 'like' reaction to a message.\n */\n Like = 'like',\n\n /**\n * Represents a '+1' reaction to a message.\n */\n PlusOne = 'plusOne',\n}\n\n/**\n * Zod schema for validating MessageReactionTypes enum values.\n */\nexport const messageReactionTypesZodSchema = z.enum(['like', 'plusOne'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { MessageReactionTypes, messageReactionTypesZodSchema } from './messageReactionTypes'\n\n/**\n * Represents a message reaction.\n */\nexport interface MessageReaction {\n /**\n * The type of the reaction.\n */\n type: MessageReactionTypes | string\n}\n\n/**\n * Zod schema for validating a MessageReaction object.\n */\nexport const messageReactionZodSchema = z.object({\n type: z.union([messageReactionTypesZodSchema, z.string().min(1)])\n})\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing text format types.\n */\nexport enum TextFormatTypes {\n /**\n * Represents text formatted using Markdown.\n */\n Markdown = 'markdown',\n\n /**\n * Represents plain text without any formatting.\n */\n Plain = 'plain',\n\n /**\n * Represents text formatted using XML.\n */\n Xml = 'xml',\n}\n\n/**\n * Zod schema for validating TextFormatTypes enum values.\n */\nexport const textFormatTypesZodSchema = z.enum(['markdown', 'plain', 'xml'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Represents a text highlight.\n */\nexport interface TextHighlight {\n /**\n * The highlighted text.\n */\n text: string\n /**\n * The occurrence count of the highlighted text.\n */\n occurrence: number\n}\n\n/**\n * Zod schema for validating TextHighlight objects.\n */\nexport const textHighlightZodSchema = z.object({\n text: z.string().min(1),\n occurrence: z.number()\n})\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { v4 as uuid } from 'uuid'\nimport { z } from 'zod'\nimport { SemanticAction, semanticActionZodSchema } from './action/semanticAction'\nimport { SuggestedActions, suggestedActionsZodSchema } from './action/suggestedActions'\nimport { ActivityEventNames, activityEventNamesZodSchema } from './activityEventNames'\nimport { ActivityImportance, activityImportanceZodSchema } from './activityImportance'\nimport { ActivityTypes, activityTypesZodSchema } from './activityTypes'\nimport { Attachment, attachmentZodSchema } from './attachment/attachment'\nimport { AttachmentLayoutTypes, attachmentLayoutTypesZodSchema } from './attachment/attachmentLayoutTypes'\nimport { ChannelAccount, channelAccountZodSchema } from './conversation/channelAccount'\nimport { Channels } from './conversation/channels'\nimport { ConversationAccount, conversationAccountZodSchema } from './conversation/conversationAccount'\nimport { ConversationReference, conversationReferenceZodSchema } from './conversation/conversationReference'\nimport { EndOfConversationCodes, endOfConversationCodesZodSchema } from './conversation/endOfConversationCodes'\nimport { DeliveryModes, deliveryModesZodSchema } from './deliveryModes'\nimport { Entity, entityZodSchema } from './entity/entity'\nimport { Mention } from './entity/mention'\nimport { InputHints, inputHintsZodSchema } from './inputHints'\nimport { MessageReaction, messageReactionZodSchema } from './messageReaction'\nimport { TextFormatTypes, textFormatTypesZodSchema } from './textFormatTypes'\nimport { TextHighlight, textHighlightZodSchema } from './textHighlight'\n\n/**\n * Zod schema for validating an Activity object.\n */\nexport const activityZodSchema = z.object({\n type: z.union([activityTypesZodSchema, z.string().min(1)]),\n text: z.string().optional(),\n id: z.string().min(1).optional(),\n channelId: z.string().min(1).optional(),\n from: channelAccountZodSchema.optional(),\n timestamp: z.union([z.date(), z.string().min(1).datetime().optional(), z.string().min(1).transform(s => new Date(s)).optional()]),\n localTimestamp: z.string().min(1).transform(s => new Date(s)).optional().or(z.date()).optional(), // z.string().min(1).transform(s => new Date(s)).optional(),\n localTimezone: z.string().min(1).optional(),\n callerId: z.string().min(1).optional(),\n serviceUrl: z.string().min(1).optional(),\n conversation: conversationAccountZodSchema.optional(),\n recipient: channelAccountZodSchema.optional(),\n textFormat: z.union([textFormatTypesZodSchema, z.string().min(1)]).optional(),\n attachmentLayout: z.union([attachmentLayoutTypesZodSchema, z.string().min(1)]).optional(),\n membersAdded: z.array(channelAccountZodSchema).optional(),\n membersRemoved: z.array(channelAccountZodSchema).optional(),\n reactionsAdded: z.array(messageReactionZodSchema).optional(),\n reactionsRemoved: z.array(messageReactionZodSchema).optional(),\n topicName: z.string().min(1).optional(),\n historyDisclosed: z.boolean().optional(),\n locale: z.string().min(1).optional(),\n speak: z.string().min(1).optional(),\n inputHint: z.union([inputHintsZodSchema, z.string().min(1)]).optional(),\n summary: z.string().min(1).optional(),\n suggestedActions: suggestedActionsZodSchema.optional(),\n attachments: z.array(attachmentZodSchema).optional(),\n entities: z.array(entityZodSchema.passthrough()).optional(),\n channelData: z.any().optional(),\n action: z.string().min(1).optional(),\n replyToId: z.string().min(1).optional(),\n label: z.string().min(1).optional(),\n valueType: z.string().min(1).optional(),\n value: z.unknown().optional(),\n name: z.union([activityEventNamesZodSchema, z.string().min(1)]).optional(),\n relatesTo: conversationReferenceZodSchema.optional(),\n code: z.union([endOfConversationCodesZodSchema, z.string().min(1)]).optional(),\n expiration: z.string().min(1).datetime().optional(),\n importance: z.union([activityImportanceZodSchema, z.string().min(1)]).optional(),\n deliveryMode: z.union([deliveryModesZodSchema, z.string().min(1)]).optional(),\n listenFor: z.array(z.string().min(1)).optional(),\n textHighlights: z.array(textHighlightZodSchema).optional(),\n semanticAction: semanticActionZodSchema.optional()\n})\n\n/**\n * Represents an activity in a conversation.\n */\nexport class Activity {\n /**\n * The type of the activity.\n */\n type: ActivityTypes | string\n\n /**\n * The text content of the activity.\n */\n text?: string\n\n /**\n * The unique identifier of the activity.\n */\n id?: string\n\n /**\n * The channel ID where the activity originated.\n */\n channelId?: string\n\n /**\n * The account of the sender of the activity.\n */\n from?: ChannelAccount\n\n /**\n * The timestamp of the activity.\n */\n timestamp?: Date | string\n\n /**\n * The local timestamp of the activity.\n */\n localTimestamp?: Date | string\n\n /**\n * The local timezone of the activity.\n */\n localTimezone?: string\n\n /**\n * The caller ID of the activity.\n */\n callerId?: string\n\n /**\n * The service URL of the activity.\n */\n serviceUrl?: string\n\n /**\n * The conversation account associated with the activity.\n */\n conversation?: ConversationAccount\n\n /**\n * The recipient of the activity.\n */\n recipient?: ChannelAccount\n\n /**\n * The text format of the activity.\n */\n textFormat?: TextFormatTypes | string\n\n /**\n * The attachment layout of the activity.\n */\n attachmentLayout?: AttachmentLayoutTypes | string\n\n /**\n * The members added to the conversation.\n */\n membersAdded?: ChannelAccount[]\n\n /**\n * The members removed from the conversation.\n */\n membersRemoved?: ChannelAccount[]\n\n /**\n * The reactions added to the activity.\n */\n reactionsAdded?: MessageReaction[]\n\n /**\n * The reactions removed from the activity.\n */\n reactionsRemoved?: MessageReaction[]\n\n /**\n * The topic name of the activity.\n */\n topicName?: string\n\n /**\n * Indicates whether the history is disclosed.\n */\n historyDisclosed?: boolean\n\n /**\n * The locale of the activity.\n */\n locale?: string\n\n /**\n * The speech text of the activity.\n */\n speak?: string\n\n /**\n * The input hint for the activity.\n */\n inputHint?: InputHints | string\n\n /**\n * The summary of the activity.\n */\n summary?: string\n\n /**\n * The suggested actions for the activity.\n */\n suggestedActions?: SuggestedActions\n\n /**\n * The attachments of the activity.\n */\n attachments?: Attachment[]\n\n /**\n * The entities associated with the activity.\n */\n entities?: Entity[]\n\n /**\n * The channel-specific data for the activity.\n */\n channelData?: any\n\n /**\n * The action associated with the activity.\n */\n action?: string\n\n /**\n * The ID of the activity being replied to.\n */\n replyToId?: string\n\n /**\n * The label for the activity.\n */\n label?: string\n\n /**\n * The value type of the activity.\n */\n valueType?: string\n\n /**\n * The value associated with the activity.\n */\n value?: unknown\n\n /**\n * The name of the activity event.\n */\n name?: ActivityEventNames | string\n\n /**\n * The conversation reference for the activity.\n */\n relatesTo?: ConversationReference\n\n /**\n * The end-of-conversation code for the activity.\n */\n code?: EndOfConversationCodes | string\n\n /**\n * The expiration time of the activity.\n */\n expiration?: string | Date\n\n /**\n * The importance of the activity.\n */\n importance?: ActivityImportance | string\n\n /**\n * The delivery mode of the activity.\n */\n deliveryMode?: DeliveryModes | string\n\n /**\n * The list of keywords to listen for in the activity.\n */\n listenFor?: string[]\n\n /**\n * The text highlights in the activity.\n */\n textHighlights?: TextHighlight[]\n\n /**\n * The semantic action associated with the activity.\n */\n semanticAction?: SemanticAction\n\n /**\n * The raw timestamp of the activity.\n */\n rawTimestamp?: string\n\n /**\n * The raw expiration time of the activity.\n */\n rawExpiration?: string\n\n /**\n * The raw local timestamp of the activity.\n */\n rawLocalTimestamp?: string\n\n /**\n * Additional properties of the activity.\n */\n [x: string]: unknown\n\n /**\n * Creates a new Activity instance.\n * @param t The type of the activity.\n * @throws Will throw an error if the activity type is invalid.\n */\n constructor (t: ActivityTypes | string) {\n if (t === undefined) {\n throw new Error('Invalid ActivityType: undefined')\n }\n if (t === null) {\n throw new Error('Invalid ActivityType: null')\n }\n if ((typeof t === 'string') && (t.length === 0)) {\n throw new Error('Invalid ActivityType: empty string')\n }\n\n this.type = t\n }\n\n /**\n * Creates an Activity instance from a JSON string.\n * @param json The JSON string representing the activity.\n * @returns The created Activity instance.\n */\n static fromJson (json: string): Activity {\n return this.fromObject(JSON.parse(json))\n }\n\n /**\n * Creates an Activity instance from an object.\n * @param o The object representing the activity.\n * @returns The created Activity instance.\n */\n static fromObject (o: object): Activity {\n const parsedActivity = activityZodSchema.passthrough().parse(o)\n const activity = new Activity(parsedActivity.type)\n Object.assign(activity, parsedActivity)\n return activity\n }\n\n /**\n * Creates a continuation activity from a conversation reference.\n * @param reference The conversation reference.\n * @returns The created continuation activity.\n */\n static getContinuationActivity (reference: ConversationReference): Activity {\n const continuationActivityObj = {\n type: ActivityTypes.Event,\n name: ActivityEventNames.ContinueConversation,\n id: uuid(),\n channelId: reference.channelId,\n locale: reference.locale,\n serviceUrl: reference.serviceUrl,\n conversation: reference.conversation,\n recipient: reference.agent,\n from: reference.user,\n relatesTo: reference\n }\n const continuationActivity: Activity = Activity.fromObject(continuationActivityObj)\n return continuationActivity\n }\n\n /**\n * Gets the appropriate reply-to ID for the activity.\n * @returns The reply-to ID, or undefined if not applicable.\n */\n private getAppropriateReplyToId (): string | undefined {\n if (\n this.type !== ActivityTypes.ConversationUpdate ||\n (this.channelId !== Channels.Directline && this.channelId !== Channels.Webchat)\n ) {\n return this.id\n }\n\n return undefined\n }\n\n /**\n * Gets the conversation reference for the activity.\n * @returns The conversation reference.\n * @throws Will throw an error if required properties are undefined.\n */\n public getConversationReference (): ConversationReference {\n if (this.recipient === null || this.recipient === undefined) {\n throw new Error('Activity Recipient undefined')\n }\n if (this.conversation === null || this.conversation === undefined) {\n throw new Error('Activity Conversation undefined')\n }\n if (this.channelId === null || this.channelId === undefined) {\n throw new Error('Activity ChannelId undefined')\n }\n\n return {\n activityId: this.getAppropriateReplyToId(),\n user: this.from,\n agent: this.recipient,\n conversation: this.conversation,\n channelId: this.channelId,\n locale: this.locale,\n serviceUrl: this.serviceUrl\n }\n }\n\n /**\n * Applies a conversation reference to the activity.\n * @param reference The conversation reference.\n * @param isIncoming Whether the activity is incoming.\n * @returns The updated activity.\n */\n public applyConversationReference (\n reference: ConversationReference,\n isIncoming = false\n ): Activity {\n this.channelId = reference.channelId\n this.locale ??= reference.locale\n this.serviceUrl = reference.serviceUrl\n this.conversation = reference.conversation\n if (isIncoming) {\n this.from = reference.user\n this.recipient = reference.agent ?? undefined\n if (reference.activityId) {\n this.id = reference.activityId\n }\n } else {\n this.from = reference.agent ?? undefined\n this.recipient = reference.user\n if (reference.activityId) {\n this.replyToId = reference.activityId\n }\n }\n\n return this\n }\n\n public clone (): Activity {\n const activityCopy = JSON.parse(JSON.stringify(this))\n\n for (const key in activityCopy) {\n if (typeof activityCopy[key] === 'string' && !isNaN(Date.parse(activityCopy[key]))) {\n activityCopy[key] = new Date(activityCopy[key] as string)\n }\n }\n\n Object.setPrototypeOf(activityCopy, Activity.prototype)\n return activityCopy\n }\n\n /**\n * Gets the mentions in the activity.\n * @param activity The activity.\n * @returns The list of mentions.\n */\n private getMentions (activity: Activity): Mention[] {\n const result: Mention[] = []\n if (activity.entities !== undefined) {\n for (let i = 0; i < activity.entities.length; i++) {\n if (activity.entities[i].type.toLowerCase() === 'mention') {\n result.push(activity.entities[i] as unknown as Mention)\n }\n }\n }\n return result\n }\n\n /**\n * Normalizes mentions in the activity by removing mention tags and optionally removing recipient mention.\n * @param removeMention Whether to remove the recipient mention from the activity.\n */\n public normalizeMentions (removeMention: boolean = false): void {\n if (this.type === ActivityTypes.Message) {\n if (removeMention) {\n // Strip recipient mention tags and text\n this.removeRecipientMention()\n\n // Strip entity.mention records for recipient id\n if (this.entities !== undefined && this.recipient?.id) {\n this.entities = this.entities.filter((entity) => {\n if (entity.type.toLowerCase() === 'mention') {\n const mention = entity as unknown as Mention\n return mention.mentioned.id !== this.recipient?.id\n }\n return true\n })\n }\n }\n\n // Remove <at> </at> tags keeping the inner text\n if (this.text) {\n this.text = Activity.removeAt(this.text)\n }\n\n // Remove <at> </at> tags from mention records keeping the inner text\n if (this.entities !== undefined) {\n const mentions = this.getMentions(this)\n for (const mention of mentions) {\n if (mention.text) {\n mention.text = Activity.removeAt(mention.text)?.trim()\n }\n }\n }\n }\n }\n\n /**\n * Removes <at> </at> tags from the specified text.\n * @param text The text to process.\n * @returns The text with <at> </at> tags removed.\n */\n private static removeAt (text: string): string {\n if (!text) {\n return text\n }\n\n let foundTag: boolean\n do {\n foundTag = false\n const iAtStart = text.toLowerCase().indexOf('<at')\n if (iAtStart >= 0) {\n const iAtEnd = text.indexOf('>', iAtStart)\n if (iAtEnd > 0) {\n const iAtClose = text.toLowerCase().indexOf('</at>', iAtEnd)\n if (iAtClose > 0) {\n // Replace </at>\n let followingText = text.substring(iAtClose + 5)\n\n // If first char of followingText is not whitespace, insert space\n if (followingText.length > 0 && !(/\\s/.test(followingText[0]))) {\n followingText = ` ${followingText}`\n }\n\n text = text.substring(0, iAtClose) + followingText\n\n // Get tag content (text between <at...> and </at>)\n const tagContent = text.substring(iAtEnd + 1, iAtClose)\n\n // Replace <at ...> with just the tag content\n let prefixText = text.substring(0, iAtStart)\n\n // If prefixText is not empty and doesn't end with whitespace, add a space\n if (prefixText.length > 0 && !(/\\s$/.test(prefixText))) {\n prefixText += ' '\n }\n\n text = prefixText + tagContent + followingText\n\n // We found one, try again, there may be more\n foundTag = true\n }\n }\n }\n } while (foundTag)\n\n return text\n }\n\n /**\n * Removes the mention text for a given ID.\n * @param id The ID of the mention to remove.\n * @returns The updated text.\n */\n private removeMentionText (id: string): string {\n const mentions = this.getMentions(this)\n const mentionsFiltered = mentions.filter((mention): boolean => mention.mentioned.id === id)\n if ((mentionsFiltered.length > 0) && this.text) {\n this.text = this.text.replace(mentionsFiltered[0].text, '').trim()\n }\n return this.text || ''\n }\n\n /**\n * Removes the recipient mention from the activity text.\n * @returns The updated text.\n */\n public removeRecipientMention (): string {\n if ((this.recipient != null) && this.recipient.id) {\n return this.removeMentionText(this.recipient.id)\n }\n return ''\n }\n\n /**\n * Gets the conversation reference for a reply.\n * @param replyId The ID of the reply.\n * @returns The conversation reference.\n */\n public getReplyConversationReference (\n replyId: string\n ): ConversationReference {\n const reference: ConversationReference = this.getConversationReference()\n\n reference.activityId = replyId\n\n return reference\n }\n\n public toJsonString (): string {\n return JSON.stringify(this)\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Constants representing caller IDs.\n */\nexport const CallerIdConstants = {\n /**\n * Public Azure channel caller ID.\n */\n PublicAzureChannel: 'urn:botframework:azure',\n /**\n * US Government channel caller ID.\n */\n USGovChannel: 'urn:botframework:azureusgov',\n /**\n * Agent prefix for caller ID.\n */\n AgentPrefix: 'urn:botframework:aadappid:'\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing treatment types for the activity.\n */\nexport enum ActivityTreatments {\n /**\n * Indicates that only the recipient should be able to see the message even if the activity\n * is being sent to a group of people.\n */\n Targeted = 'targeted',\n}\n\n/**\n * Zod schema for validating an ActivityTreatments enum.\n */\nexport const activityTreatments = z.nativeEnum(ActivityTreatments)\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Export statements for various modules.\n */\nexport { ActionTypes } from './action/actionTypes'\nexport { CardAction } from './action/cardAction'\nexport { SemanticAction } from './action/semanticAction'\nexport { SemanticActionStateTypes } from './action/semanticActionStateTypes'\nexport { SuggestedActions } from './action/suggestedActions'\n\nexport { Attachment } from './attachment/attachment'\nexport { AttachmentLayoutTypes } from './attachment/attachmentLayoutTypes'\n\nexport { ChannelAccount } from './conversation/channelAccount'\nexport { Channels } from './conversation/channels'\nexport { ConversationAccount } from './conversation/conversationAccount'\nexport { ConversationReference } from './conversation/conversationReference'\nexport { EndOfConversationCodes } from './conversation/endOfConversationCodes'\nexport { ConversationParameters } from './conversation/conversationParameters'\nexport { RoleTypes } from './conversation/roleTypes'\n\nexport { Entity } from './entity/entity'\nexport { Mention } from './entity/mention'\nexport { GeoCoordinates } from './entity/geoCoordinates'\nexport { Place } from './entity/place'\nexport { Thing } from './entity/thing'\nexport * from './entity/AIEntity'\n\nexport * from './invoke/adaptiveCardInvokeAction'\n\nexport { Activity, activityZodSchema } from './activity'\nexport { ActivityEventNames } from './activityEventNames'\nexport { ActivityImportance } from './activityImportance'\nexport { ActivityTypes } from './activityTypes'\nexport { CallerIdConstants } from './callerIdConstants'\nexport { DeliveryModes } from './deliveryModes'\nexport { ExpectedReplies } from './expectedReplies'\nexport { InputHints } from './inputHints'\nexport { MessageReaction } from './messageReaction'\nexport { MessageReactionTypes } from './messageReactionTypes'\nexport { TextFormatTypes } from './textFormatTypes'\nexport { TextHighlight } from './textHighlight'\nexport { ActivityTreatments } from './activityTreatments'\nexport { debug, Logger } from './logger'\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Enum representing the type of agent.\n */\nexport enum AgentType {\n /**\n * Represents a published agent.\n */\n Published = 'Published',\n /**\n * Represents a prebuilt agent.\n */\n Prebuilt = 'Prebuilt',\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Enum representing different Power Platform cloud environments.\n */\nexport enum PowerPlatformCloud {\n /**\n * Unknown cloud environment.\n */\n Unknown = 'Unknown',\n /**\n * Experimental cloud environment.\n */\n Exp = 'Exp',\n /**\n * Development cloud environment.\n */\n Dev = 'Dev',\n /**\n * Test cloud environment.\n */\n Test = 'Test',\n /**\n * Pre-production cloud environment.\n */\n Preprod = 'Preprod',\n /**\n * First release cloud environment.\n */\n FirstRelease = 'FirstRelease',\n /**\n * Production cloud environment.\n */\n Prod = 'Prod',\n /**\n * Government cloud environment.\n */\n Gov = 'Gov',\n /**\n * High security cloud environment.\n */\n High = 'High',\n /**\n * Department of Defense cloud environment.\n */\n DoD = 'DoD',\n /**\n * Mooncake cloud environment.\n */\n Mooncake = 'Mooncake',\n /**\n * Ex cloud environment.\n */\n Ex = 'Ex',\n /**\n * Rx cloud environment.\n */\n Rx = 'Rx',\n /**\n * Private cloud environment.\n */\n Prv = 'Prv',\n /**\n * Local cloud environment.\n */\n Local = 'Local',\n /**\n * French government cloud environment.\n */\n GovFR = 'GovFR',\n /**\n * Other cloud environment.\n */\n Other = 'Other',\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AgentType } from './agentType'\nimport { CopilotStudioConnectionSettings } from './copilotStudioConnectionSettings'\nimport { PowerPlatformCloud } from './powerPlatformCloud'\n\n/**\n * Configuration options for establishing a connection to Copilot Studio.\n */\nabstract class ConnectionOptions implements Omit<CopilotStudioConnectionSettings, 'cloud' | 'copilotAgentType'> {\n /** The client ID of the application. */\n public appClientId: string = ''\n /** The tenant ID of the application. */\n public tenantId: string = ''\n /** The login authority to use for the connection */\n public authority?: string = ''\n /** The environment ID of the application. */\n public environmentId: string = ''\n /** The identifier of the agent. */\n public agentIdentifier: string = ''\n /** The cloud environment of the application. */\n public cloud?: PowerPlatformCloud | keyof typeof PowerPlatformCloud\n /** The custom Power Platform cloud URL, if any. */\n public customPowerPlatformCloud?: string\n /** The type of the Copilot agent. */\n public copilotAgentType?: AgentType | keyof typeof AgentType\n /** The URL to connect directly to Copilot Studio endpoint */\n public directConnectUrl?: string\n /** Flag to use the experimental endpoint if available */\n public useExperimentalEndpoint?: boolean = false\n}\n\n/**\n * Represents the settings required to establish a connection to Copilot Studio.\n */\nexport class ConnectionSettings extends ConnectionOptions {\n /** The cloud environment of the application. */\n public cloud?: PowerPlatformCloud\n /** The type of the Copilot agent. */\n public copilotAgentType?: AgentType\n\n /**\n * Default constructor for the ConnectionSettings class.\n */\n constructor ()\n\n /**\n * Creates an instance of ConnectionSettings.\n * @param options Represents the settings required to establish a direct connection to the engine.\n */\n constructor (options: ConnectionOptions)\n\n /**\n * @private\n */\n constructor (options?: ConnectionOptions) {\n super()\n\n if (!options) {\n return\n }\n\n const cloud = options.cloud ?? PowerPlatformCloud.Prod\n const copilotAgentType = options.copilotAgentType ?? AgentType.Published\n const authority = options.authority && options.authority.trim() !== ''\n ? options.authority\n : 'https://login.microsoftonline.com'\n\n if (!Object.values(PowerPlatformCloud).includes(cloud as PowerPlatformCloud)) {\n throw new Error(`Invalid PowerPlatformCloud: '${cloud}'. Supported values: ${Object.values(PowerPlatformCloud).join(', ')}`)\n }\n\n if (!Object.values(AgentType).includes(copilotAgentType as AgentType)) {\n throw new Error(`Invalid AgentType: '${copilotAgentType}'. Supported values: ${Object.values(AgentType).join(', ')}`)\n }\n\n Object.assign(this, { ...options, cloud, copilotAgentType, authority })\n }\n}\n\n/**\n * Loads the connection settings for Copilot Studio from environment variables.\n * @returns The connection settings.\n */\nexport const loadCopilotStudioConnectionSettingsFromEnv: () => ConnectionSettings = () => {\n return new ConnectionSettings({\n appClientId: process.env.appClientId ?? '',\n tenantId: process.env.tenantId ?? '',\n authority: process.env.authorityEndpoint ?? 'https://login.microsoftonline.com',\n environmentId: process.env.environmentId ?? '',\n agentIdentifier: process.env.agentIdentifier ?? '',\n cloud: process.env.cloud as PowerPlatformCloud,\n customPowerPlatformCloud: process.env.customPowerPlatformCloud,\n copilotAgentType: process.env.copilotAgentType as AgentType,\n directConnectUrl: process.env.directConnectUrl,\n useExperimentalEndpoint: process.env.useExperimentalEndpoint?.toLowerCase() === 'true'\n })\n}\n", "'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n", "'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n \n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n", "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n", "// eslint-disable-next-line strict\nexport default null;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n", "'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n", "'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n", "'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n", "'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n", "'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n", "'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n", "import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n", "const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n", "import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n", "'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n", "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n", "'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n", "'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n", "'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n", "'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n", "'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n", "'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n", "'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n", "'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n", "/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n", "import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n", "import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n", "import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n", "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n", "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n", "'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n", "import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n", "import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n", "import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n", "\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n", "import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request, fetchOptions);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n", "import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n", "'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n", "export const VERSION = \"1.11.0\";", "'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n", "'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n", "'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n", "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n", "'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n", "const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n", "'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n", "import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AgentType } from './agentType'\nimport { ConnectionSettings } from './connectionSettings'\nimport { debug } from '@microsoft/agents-activity/logger'\nimport { PowerPlatformCloud } from './powerPlatformCloud'\nimport { PrebuiltBotStrategy } from './strategies/prebuiltBotStrategy'\nimport { PublishedBotStrategy } from './strategies/publishedBotStrategy'\n\nconst logger = debug('copilot-studio:power-platform')\n\n/**\n * Generates the connection URL for Copilot Studio.\n * @param settings - The connection settings.\n * @param conversationId - Optional conversation ID.\n * @returns The connection URL.\n * @throws Will throw an error if required settings are missing or invalid.\n */\nexport function getCopilotStudioConnectionUrl (\n settings: ConnectionSettings,\n conversationId?: string\n): string {\n if (settings.directConnectUrl?.trim()) {\n logger.debug(`Using direct connection: ${settings.directConnectUrl}`)\n if (!isValidUri(settings.directConnectUrl)) {\n throw new Error('directConnectUrl must be a valid URL')\n }\n\n // FIX for Missing Tenant ID\n if (settings.directConnectUrl.toLowerCase().includes('tenants/00000000-0000-0000-0000-000000000000')) {\n logger.debug(`Direct connection cannot be used, forcing default settings flow. Tenant ID is missing in the URL: ${settings.directConnectUrl}`)\n // Direct connection cannot be used, ejecting and forcing the normal settings flow:\n return getCopilotStudioConnectionUrl({ ...settings, directConnectUrl: '' }, conversationId)\n }\n\n return createURL(settings.directConnectUrl, conversationId).href\n }\n\n const cloudSetting = settings.cloud ?? PowerPlatformCloud.Prod\n const agentType = settings.copilotAgentType ?? AgentType.Published\n\n logger.debug(`Using cloud setting: ${cloudSetting}`)\n logger.debug(`Using agent type: ${agentType}`)\n\n if (!settings.environmentId?.trim()) {\n throw new Error('EnvironmentId must be provided')\n }\n\n if (!settings.agentIdentifier?.trim()) {\n throw new Error('AgentIdentifier must be provided')\n }\n\n if (cloudSetting === PowerPlatformCloud.Other) {\n if (!settings.customPowerPlatformCloud?.trim()) {\n throw new Error('customPowerPlatformCloud must be provided when PowerPlatformCloud is Other')\n } else if (isValidUri(settings.customPowerPlatformCloud)) {\n logger.debug(`Using custom Power Platform cloud: ${settings.customPowerPlatformCloud}`)\n } else {\n throw new Error(\n 'customPowerPlatformCloud must be a valid URL'\n )\n }\n }\n\n const host = getEnvironmentEndpoint(cloudSetting, settings.environmentId, settings.customPowerPlatformCloud)\n\n const strategy = {\n [AgentType.Published]: () => new PublishedBotStrategy({\n host,\n schema: settings.agentIdentifier!,\n }),\n [AgentType.Prebuilt]: () => new PrebuiltBotStrategy({\n host,\n identifier: settings.agentIdentifier!,\n }),\n }[agentType]()\n\n const url = strategy.getConversationUrl(conversationId)\n logger.debug(`Generated Copilot Studio connection URL: ${url}`)\n return url\n}\n\n/**\n * Returns the Power Platform API Audience.\n * @param settings - Configuration Settings to use.\n * @param cloud - Optional Power Platform Cloud Hosting Agent.\n * @param cloudBaseAddress - Optional Power Platform API endpoint to use if Cloud is configured as \"other\".\n * @param directConnectUrl - Optional DirectConnection URL to a given Copilot Studio agent, if provided all other settings are ignored.\n * @returns The Power Platform Audience.\n * @throws Will throw an error if required settings are missing or invalid.\n */\nexport function getTokenAudience (\n settings?: ConnectionSettings,\n cloud: PowerPlatformCloud = PowerPlatformCloud.Unknown,\n cloudBaseAddress: string = '',\n directConnectUrl: string = ''): string {\n if (!directConnectUrl && !settings?.directConnectUrl) {\n if (cloud === PowerPlatformCloud.Other && !cloudBaseAddress) {\n throw new Error('cloudBaseAddress must be provided when PowerPlatformCloudCategory is Other')\n }\n if (!settings && cloud === PowerPlatformCloud.Unknown) {\n throw new Error('Either settings or cloud must be provided')\n }\n if (settings && settings.cloud && settings.cloud !== PowerPlatformCloud.Unknown) {\n cloud = settings.cloud\n }\n if (cloud === PowerPlatformCloud.Other) {\n if (cloudBaseAddress && isValidUri(cloudBaseAddress)) {\n cloud = PowerPlatformCloud.Other\n } else if (settings?.customPowerPlatformCloud && isValidUri(settings!.customPowerPlatformCloud)) {\n cloud = PowerPlatformCloud.Other\n cloudBaseAddress = settings.customPowerPlatformCloud\n } else {\n throw new Error('Either CustomPowerPlatformCloud or cloudBaseAddress must be provided when PowerPlatformCloudCategory is Other')\n }\n }\n cloudBaseAddress ??= 'api.unknown.powerplatform.com'\n return `https://${getEndpointSuffix(cloud, cloudBaseAddress)}/.default`\n } else {\n if (!directConnectUrl) {\n directConnectUrl = settings?.directConnectUrl ?? ''\n }\n if (directConnectUrl && isValidUri(directConnectUrl)) {\n if (decodeCloudFromURI(new URL(directConnectUrl)) === PowerPlatformCloud.Unknown) {\n const cloudToTest: PowerPlatformCloud = settings?.cloud ?? cloud\n\n if (cloudToTest === PowerPlatformCloud.Other || cloudToTest === PowerPlatformCloud.Unknown) {\n throw new Error('Unable to resolve the PowerPlatform Cloud from DirectConnectUrl. The Token Audience resolver requires a specific PowerPlatformCloudCategory.')\n }\n if ((cloudToTest as PowerPlatformCloud) !== PowerPlatformCloud.Unknown) {\n return `https://${getEndpointSuffix(cloudToTest, '')}/.default`\n } else {\n throw new Error('Unable to resolve the PowerPlatform Cloud from DirectConnectUrl. The Token Audience resolver requires a specific PowerPlatformCloudCategory.')\n }\n }\n return `https://${getEndpointSuffix(decodeCloudFromURI(new URL(directConnectUrl)), '')}/.default`\n } else {\n throw new Error('DirectConnectUrl must be provided when DirectConnectUrl is set')\n }\n }\n}\nfunction isValidUri (uri: string): boolean {\n try {\n const absoluteUrl = uri.startsWith('http') ? uri : `https://${uri}`\n const newUri = new URL(absoluteUrl)\n return !!newUri\n } catch {\n return false\n }\n}\n\nfunction createURL (base: string, conversationId?: string): URL {\n const url = new URL(base)\n\n if (!url.searchParams.has('api-version')) {\n url.searchParams.append('api-version', '2022-03-01-preview')\n }\n\n if (url.pathname.endsWith('/')) {\n url.pathname = url.pathname.slice(0, -1)\n }\n\n if (url.pathname.includes('/conversations')) {\n url.pathname = url.pathname.substring(0, url.pathname.indexOf('/conversations'))\n }\n\n url.pathname = `${url.pathname}/conversations`\n if (conversationId) {\n url.pathname = `${url.pathname}/${conversationId}`\n }\n\n return url\n}\n\nfunction getEnvironmentEndpoint (\n cloud: PowerPlatformCloud,\n environmentId: string,\n cloudBaseAddress?: string\n): URL {\n if (cloud === PowerPlatformCloud.Other && (!cloudBaseAddress || !cloudBaseAddress.trim())) {\n throw new Error('cloudBaseAddress must be provided when PowerPlatformCloud is Other')\n }\n\n cloudBaseAddress = cloudBaseAddress ?? 'api.unknown.powerplatform.com'\n\n const normalizedResourceId = environmentId.toLowerCase().replaceAll('-', '')\n const idSuffixLength = getIdSuffixLength(cloud)\n const hexPrefix = normalizedResourceId.substring(0, normalizedResourceId.length - idSuffixLength)\n const hexSuffix = normalizedResourceId.substring(normalizedResourceId.length - idSuffixLength)\n\n return new URL(`https://${hexPrefix}.${hexSuffix}.environment.${getEndpointSuffix(cloud, cloudBaseAddress)}`)\n}\n\nfunction getEndpointSuffix (\n category: PowerPlatformCloud,\n cloudBaseAddress: string\n): string {\n switch (category) {\n case PowerPlatformCloud.Local:\n return 'api.powerplatform.localhost'\n case PowerPlatformCloud.Exp:\n return 'api.exp.powerplatform.com'\n case PowerPlatformCloud.Dev:\n return 'api.dev.powerplatform.com'\n case PowerPlatformCloud.Prv:\n return 'api.prv.powerplatform.com'\n case PowerPlatformCloud.Test:\n return 'api.test.powerplatform.com'\n case PowerPlatformCloud.Preprod:\n return 'api.preprod.powerplatform.com'\n case PowerPlatformCloud.FirstRelease:\n case PowerPlatformCloud.Prod:\n return 'api.powerplatform.com'\n case PowerPlatformCloud.GovFR:\n return 'api.gov.powerplatform.microsoft.us'\n case PowerPlatformCloud.Gov:\n return 'api.gov.powerplatform.microsoft.us'\n case PowerPlatformCloud.High:\n return 'api.high.powerplatform.microsoft.us'\n case PowerPlatformCloud.DoD:\n return 'api.appsplatform.us'\n case PowerPlatformCloud.Mooncake:\n return 'api.powerplatform.partner.microsoftonline.cn'\n case PowerPlatformCloud.Ex:\n return 'api.powerplatform.eaglex.ic.gov'\n case PowerPlatformCloud.Rx:\n return 'api.powerplatform.microsoft.scloud'\n case PowerPlatformCloud.Other:\n return cloudBaseAddress\n default:\n throw new Error(`Invalid cluster category value: ${category}`)\n }\n}\n\nfunction getIdSuffixLength (cloud: PowerPlatformCloud): number {\n switch (cloud) {\n case PowerPlatformCloud.FirstRelease:\n case PowerPlatformCloud.Prod:\n return 2\n default:\n return 1\n }\n}\n\nfunction decodeCloudFromURI (uri: URL): PowerPlatformCloud {\n const host = uri.host.toLowerCase()\n\n switch (host) {\n case 'api.powerplatform.localhost':\n return PowerPlatformCloud.Local\n case 'api.exp.powerplatform.com':\n return PowerPlatformCloud.Exp\n case 'api.dev.powerplatform.com':\n return PowerPlatformCloud.Dev\n case 'api.prv.powerplatform.com':\n return PowerPlatformCloud.Prv\n case 'api.test.powerplatform.com':\n return PowerPlatformCloud.Test\n case 'api.preprod.powerplatform.com':\n return PowerPlatformCloud.Preprod\n case 'api.powerplatform.com':\n return PowerPlatformCloud.Prod\n case 'api.gov.powerplatform.microsoft.us':\n return PowerPlatformCloud.GovFR\n case 'api.high.powerplatform.microsoft.us':\n return PowerPlatformCloud.High\n case 'api.appsplatform.us':\n return PowerPlatformCloud.DoD\n case 'api.powerplatform.partner.microsoftonline.cn':\n return PowerPlatformCloud.Mooncake\n default:\n return PowerPlatformCloud.Unknown\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Strategy } from './strategy'\n\nexport interface PrebuiltBotStrategySettings {\n readonly host: URL;\n readonly identifier: string;\n}\n\nexport class PrebuiltBotStrategy implements Strategy {\n private readonly API_VERSION = '2022-03-01-preview'\n private baseURL: URL\n\n constructor (settings: PrebuiltBotStrategySettings) {\n const { identifier, host } = settings\n\n this.baseURL = new URL(\n `/copilotstudio/prebuilt/authenticated/bots/${identifier}`,\n host\n )\n this.baseURL.searchParams.append('api-version', this.API_VERSION)\n }\n\n public getConversationUrl (conversationId?: string): string {\n const conversationUrl = new URL(this.baseURL.href)\n conversationUrl.pathname = `${conversationUrl.pathname}/conversations`\n\n if (conversationId) {\n conversationUrl.pathname = `${conversationUrl.pathname}/${conversationId}`\n }\n\n return conversationUrl.href\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Strategy } from './strategy'\n\nexport interface PublishedBotStrategySettings {\n readonly host: URL;\n readonly schema: string;\n}\n\nexport class PublishedBotStrategy implements Strategy {\n private readonly API_VERSION = '2022-03-01-preview'\n private baseURL: URL\n\n constructor (settings: PublishedBotStrategySettings) {\n const { schema, host } = settings\n\n this.baseURL = new URL(\n `/copilotstudio/dataverse-backed/authenticated/bots/${schema}`,\n host\n )\n this.baseURL.searchParams.append('api-version', this.API_VERSION)\n }\n\n public getConversationUrl (conversationId?: string): string {\n const conversationUrl = new URL(this.baseURL.href)\n conversationUrl.pathname = `${conversationUrl.pathname}/conversations`\n\n if (conversationId) {\n conversationUrl.pathname = `${conversationUrl.pathname}/${conversationId}`\n }\n\n return conversationUrl.href\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ConnectionSettings } from './connectionSettings'\nimport axios, { AxiosInstance, AxiosRequestConfig } from 'axios'\nimport { getCopilotStudioConnectionUrl, getTokenAudience } from './powerPlatformEnvironment'\nimport { Activity, ActivityTypes, ConversationAccount } from '@microsoft/agents-activity'\nimport { ExecuteTurnRequest } from './executeTurnRequest'\nimport { debug } from '@microsoft/agents-activity/logger'\nimport { version } from '../package.json'\nimport os from 'os'\n\nconst logger = debug('copilot-studio:client')\n\ninterface streamRead {\n done: boolean,\n value: string\n}\n\n/**\n * Client for interacting with Microsoft Copilot Studio services.\n * Provides functionality to start conversations and send messages to Copilot Studio bots.\n */\nexport class CopilotStudioClient {\n /** Header key for conversation ID. */\n private static readonly conversationIdHeaderKey: string = 'x-ms-conversationid'\n /** Island Header key */\n private static readonly islandExperimentalUrlHeaderKey: string = 'x-ms-d2e-experimental'\n\n /** The ID of the current conversation. */\n private conversationId: string = ''\n /** The connection settings for the client. */\n private readonly settings: ConnectionSettings\n /** The Axios instance used for HTTP requests. */\n private readonly client: AxiosInstance\n\n /**\n * Returns the scope URL needed to connect to Copilot Studio from the connection settings.\n * This is used for authentication token audience configuration.\n * @param settings Copilot Studio connection settings.\n * @returns The scope URL for token audience.\n */\n static scopeFromSettings: (settings: ConnectionSettings) => string = getTokenAudience\n\n /**\n * Creates an instance of CopilotStudioClient.\n * @param settings The connection settings.\n * @param token The authentication token.\n */\n constructor (settings: ConnectionSettings, token: string) {\n this.settings = settings\n this.client = axios.create()\n this.client.defaults.headers.common.Authorization = `Bearer ${token}`\n this.client.defaults.headers.common['User-Agent'] = CopilotStudioClient.getProductInfo()\n }\n\n private async postRequestAsync (axiosConfig: AxiosRequestConfig): Promise<Activity[]> {\n const activities: Activity[] = []\n\n logger.debug(`>>> SEND TO ${axiosConfig.url}`)\n\n const response = await this.client(axiosConfig)\n\n if (this.settings.useExperimentalEndpoint && !this.settings.directConnectUrl?.trim()) {\n const islandExperimentalUrl = response.headers?.[CopilotStudioClient.islandExperimentalUrlHeaderKey]\n if (islandExperimentalUrl) {\n this.settings.directConnectUrl = islandExperimentalUrl\n logger.debug(`Island Experimental URL: ${islandExperimentalUrl}`)\n }\n }\n\n this.conversationId = response.headers?.[CopilotStudioClient.conversationIdHeaderKey] ?? ''\n if (this.conversationId) {\n logger.debug(`Conversation ID: ${this.conversationId}`)\n }\n\n const sanitizedHeaders = { ...response.headers }\n delete sanitizedHeaders['Authorization']\n delete sanitizedHeaders[CopilotStudioClient.conversationIdHeaderKey]\n logger.debug('Headers received:', sanitizedHeaders)\n\n const stream = response.data\n const reader = stream.pipeThrough(new TextDecoderStream()).getReader()\n let result: string = ''\n const results: string[] = []\n\n const processEvents = async ({ done, value }: streamRead): Promise<string[]> => {\n if (done) {\n logger.debug('Stream complete')\n result += value\n results.push(result)\n return results\n }\n logger.info('Agent is typing ...')\n result += value\n\n return await processEvents(await reader.read())\n }\n\n const events: string[] = await reader.read().then(processEvents)\n\n events.forEach(event => {\n const values: string[] = event.toString().split('\\n')\n const validEvents = values.filter(e => e.substring(0, 4) === 'data' && e !== 'data: end\\r')\n validEvents.forEach(ve => {\n try {\n const act = Activity.fromJson(ve.substring(5, ve.length))\n if (act.type === ActivityTypes.Message) {\n activities.push(act)\n if (!this.conversationId.trim()) {\n // Did not get it from the header.\n this.conversationId = act.conversation?.id ?? ''\n logger.debug(`Conversation ID: ${this.conversationId}`)\n }\n } else {\n logger.debug(`Activity type: ${act.type}`)\n }\n } catch (e) {\n logger.error('Error: ', e)\n throw e\n }\n })\n })\n return activities\n }\n\n /**\n * Appends this package.json version to the User-Agent header.\n * - For browser environments, it includes the user agent of the browser.\n * - For Node.js environments, it includes the Node.js version, platform, architecture, and release.\n * @returns A string containing the product information, including version and user agent.\n */\n private static getProductInfo (): string {\n const versionString = `CopilotStudioClient.agents-sdk-js/${version}`\n let userAgent: string\n\n if (typeof window !== 'undefined' && window.navigator) {\n userAgent = `${versionString} ${navigator.userAgent}`\n } else {\n userAgent = `${versionString} nodejs/${process.version} ${os.platform()}-${os.arch()}/${os.release()}`\n }\n\n logger.debug(`User-Agent: ${userAgent}`)\n return userAgent\n }\n\n /**\n * Starts a new conversation with the Copilot Studio service.\n * @param emitStartConversationEvent Whether to emit a start conversation event. Defaults to true.\n * @returns A promise that resolves to the initial activity of the conversation.\n */\n public async startConversationAsync (emitStartConversationEvent: boolean = true): Promise<Activity> {\n const uriStart: string = getCopilotStudioConnectionUrl(this.settings)\n const body = { emitStartConversationEvent }\n\n const config: AxiosRequestConfig = {\n method: 'post',\n url: uriStart,\n headers: {\n Accept: 'text/event-stream',\n 'Content-Type': 'application/json',\n },\n data: body,\n responseType: 'stream',\n adapter: 'fetch'\n }\n\n logger.info('Starting conversation ...')\n const values = await this.postRequestAsync(config)\n const act = values[0]\n logger.info(`Conversation '${act.conversation?.id}' started. Received ${values.length} activities.`, values)\n return act\n }\n\n /**\n * Sends a question to the Copilot Studio service and retrieves the response activities.\n * @param question The question to ask.\n * @param conversationId The ID of the conversation. Defaults to the current conversation ID.\n * @returns A promise that resolves to an array of activities containing the responses.\n */\n public async askQuestionAsync (question: string, conversationId: string = this.conversationId) {\n const conversationAccount: ConversationAccount = {\n id: conversationId\n }\n const activityObj = {\n type: 'message',\n text: question,\n conversation: conversationAccount\n }\n const activity = Activity.fromObject(activityObj)\n\n const localConversationId = activity.conversation?.id ?? conversationId\n const uriExecute = getCopilotStudioConnectionUrl(this.settings, localConversationId)\n const qbody: ExecuteTurnRequest = new ExecuteTurnRequest(activity)\n\n const config: AxiosRequestConfig = {\n method: 'post',\n url: uriExecute,\n headers: {\n Accept: 'text/event-stream',\n 'Content-Type': 'application/json',\n },\n data: qbody,\n responseType: 'stream',\n adapter: 'fetch'\n }\n logger.info(`Asking question: ${question} ...`)\n const values = await this.postRequestAsync(config)\n logger.info(`Received ${values.length} activities.`, values)\n return values\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Activity } from '@microsoft/agents-activity'\n\n/**\n * Represents a request to execute a turn in a conversation.\n * This class encapsulates the activity to be executed during the turn.\n */\nexport class ExecuteTurnRequest {\n /** The activity to be executed. */\n activity?: Activity\n\n /**\n * Creates an instance of ExecuteTurnRequest.\n * @param activity The activity to be executed.\n */\n constructor (activity?: Activity) {\n this.activity = activity\n }\n}\n", "{\n \"name\": \"@microsoft/agents-copilotstudio-client\",\n \"version\": \"1.0.7-g73d3d58001\",\n \"homepage\": \"https://github.com/microsoft/Agents-for-js\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/microsoft/Agents-for-js.git\"\n },\n \"author\": {\n \"name\": \"Microsoft\",\n \"email\": \"agentssdk@microsoft.com\",\n \"url\": \"https://aka.ms/Agents\"\n },\n \"description\": \"Microsoft Copilot Studio Client for JavaScript. Copilot Studio Client.\",\n \"keywords\": [\n \"Agents\",\n \"copilotstudio\",\n \"powerplatform\"\n ],\n \"main\": \"dist/src/index.js\",\n \"types\": \"dist/src/index.d.ts\",\n \"browser\": {\n \"os\": \"./src/browser/os.ts\",\n \"crypto\": \"./src/browser/crypto.ts\"\n },\n \"scripts\": {\n \"build:browser\": \"esbuild --platform=browser --target=es2019 --format=esm --bundle --sourcemap --minify --outfile=dist/src/browser.mjs src/index.ts\"\n },\n \"dependencies\": {\n \"@microsoft/agents-activity\": \"1.0.7-g73d3d58001\",\n \"axios\": \"^1.9.0\",\n \"rxjs\": \"7.8.2\",\n \"uuid\": \"^11.1.0\"\n },\n \"license\": \"MIT\",\n \"files\": [\n \"README.md\",\n \"dist/src\",\n \"src\",\n \"package.json\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/src/index.d.ts\",\n \"import\": {\n \"browser\": \"./dist/src/browser.mjs\",\n \"default\": \"./dist/src/index.js\"\n },\n \"require\": {\n \"default\": \"./dist/src/index.js\"\n }\n },\n \"./package.json\": \"./package.json\"\n },\n \"engines\": {\n \"node\": \">=20.0.0\"\n }\n}", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type * as osTypes from 'os'\n\nexport default {} as typeof osTypes\n", "import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n", "let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n", "const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n", "import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n", "/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n", "/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass<T>(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n", "/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove<T>(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n */\nexport class Subscription implements SubscriptionLike {\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude<TeardownLogic, void>[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude<TeardownLogic, void>): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n", "import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification<any>, subscriber: Subscriber<any>) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n", "import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n", "/* tslint:disable:no-empty */\nexport function noop() { }\n", "import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification<T>(value: T) {\n return createNotification('N', value, undefined) as NextNotification<T>;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n", "import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n */\nexport class Subscriber<T> extends Subscription implements Observer<T> {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create<T>(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber<T> {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber<any> | Observer<any>; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber<any> | Observer<any>) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param value The `next` value.\n */\n next(value: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param err The `error` exception.\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind<Fn extends (...args: any[]) => any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver<T> implements Observer<T> {\n constructor(private partialObserver: Partial<Observer<T>>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber<T> extends Subscriber<T> {\n constructor(\n observerOrNext?: Partial<Observer<T>> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial<Observer<T>>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as ((value: T) => void) | undefined,\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent.\n * @param subscriber The stopped subscriber.\n */\nfunction handleStoppedNotification(notification: ObservableNotification<any>, subscriber: Subscriber<any>) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly<Observer<any>> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n", "/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n", "/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `<T>(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity<T>(x: T): T {\n return x;\n}\n", "import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe<T, A>(fn1: UnaryFunction<T, A>): UnaryFunction<T, A>;\nexport function pipe<T, A, B>(fn1: UnaryFunction<T, A>, fn2: UnaryFunction<A, B>): UnaryFunction<T, B>;\nexport function pipe<T, A, B, C>(fn1: UnaryFunction<T, A>, fn2: UnaryFunction<A, B>, fn3: UnaryFunction<B, C>): UnaryFunction<T, C>;\nexport function pipe<T, A, B, C, D>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>\n): UnaryFunction<T, D>;\nexport function pipe<T, A, B, C, D, E>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>\n): UnaryFunction<T, E>;\nexport function pipe<T, A, B, C, D, E, F>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>,\n fn6: UnaryFunction<E, F>\n): UnaryFunction<T, F>;\nexport function pipe<T, A, B, C, D, E, F, G>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>,\n fn6: UnaryFunction<E, F>,\n fn7: UnaryFunction<F, G>\n): UnaryFunction<T, G>;\nexport function pipe<T, A, B, C, D, E, F, G, H>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>,\n fn6: UnaryFunction<E, F>,\n fn7: UnaryFunction<F, G>,\n fn8: UnaryFunction<G, H>\n): UnaryFunction<T, H>;\nexport function pipe<T, A, B, C, D, E, F, G, H, I>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>,\n fn6: UnaryFunction<E, F>,\n fn7: UnaryFunction<F, G>,\n fn8: UnaryFunction<G, H>,\n fn9: UnaryFunction<H, I>\n): UnaryFunction<T, I>;\nexport function pipe<T, A, B, C, D, E, F, G, H, I>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>,\n fn6: UnaryFunction<E, F>,\n fn7: UnaryFunction<F, G>,\n fn8: UnaryFunction<G, H>,\n fn9: UnaryFunction<H, I>,\n ...fns: UnaryFunction<any, any>[]\n): UnaryFunction<T, unknown>;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array<UnaryFunction<any, any>>): UnaryFunction<any, any> {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray<T, R>(fns: Array<UnaryFunction<T, R>>): UnaryFunction<T, R> {\n if (fns.length === 0) {\n return identity as UnaryFunction<any, any>;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction<T, R>) => fn(prev), input as any);\n };\n}\n", "import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n */\nexport class Observable<T> implements Subscribable<T> {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable<any> | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator<any, T> | undefined;\n\n /**\n * @param subscribe The function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable<T>, subscriber: Subscriber<T>) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @param subscribe the subscriber function to be passed to the Observable constructor\n * @return A new observable.\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = <T>(subscribe?: (subscriber: Subscriber<T>) => TeardownLogic) => {\n return new Observable<T>(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @param operator the operator defining the operation to take on the observable\n * @return A new observable with the Operator applied.\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift<R>(operator?: Operator<T, R>): Observable<R> {\n const observable = new Observable<R>();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial<Observer<T>> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * <span class=\"informal\">Use it when you have all these Observables, but still nothing is happening.</span>\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param observerOrNext Either an {@link Observer} with some or all callback methods,\n * or the `next` handler that is called for each value emitted from the subscribed Observable.\n * @param error A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param complete A handler for a terminal event resulting from successful completion.\n * @return A subscription reference to the registered handlers.\n */\n subscribe(\n observerOrNext?: Partial<Observer<T>> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber<T>): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next A handler for each value emitted by the observable.\n * @return A promise that either resolves on observable completion or\n * rejects with the handled error.\n */\n forEach(next: (value: T) => void): Promise<void>;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise<void>;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise<void> {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor<void>((resolve, reject) => {\n const subscriber = new SafeSubscriber<T>({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise<void>;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber<any>): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @return This instance of the observable.\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable<T>;\n pipe<A>(op1: OperatorFunction<T, A>): Observable<A>;\n pipe<A, B>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>): Observable<B>;\n pipe<A, B, C>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>): Observable<C>;\n pipe<A, B, C, D>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>\n ): Observable<D>;\n pipe<A, B, C, D, E>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>\n ): Observable<E>;\n pipe<A, B, C, D, E, F>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>,\n op6: OperatorFunction<E, F>\n ): Observable<F>;\n pipe<A, B, C, D, E, F, G>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>,\n op6: OperatorFunction<E, F>,\n op7: OperatorFunction<F, G>\n ): Observable<G>;\n pipe<A, B, C, D, E, F, G, H>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>,\n op6: OperatorFunction<E, F>,\n op7: OperatorFunction<F, G>,\n op8: OperatorFunction<G, H>\n ): Observable<H>;\n pipe<A, B, C, D, E, F, G, H, I>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>,\n op6: OperatorFunction<E, F>,\n op7: OperatorFunction<F, G>,\n op8: OperatorFunction<G, H>,\n op9: OperatorFunction<H, I>\n ): Observable<I>;\n pipe<A, B, C, D, E, F, G, H, I>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>,\n op6: OperatorFunction<E, F>,\n op7: OperatorFunction<F, G>,\n op8: OperatorFunction<G, H>,\n op9: OperatorFunction<H, I>,\n ...operations: OperatorFunction<any, any>[]\n ): Observable<unknown>;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n *\n * @return The Observable result of all the operators having been called\n * in the order they were passed in.\n */\n pipe(...operations: OperatorFunction<any, any>[]): Observable<any> {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise<T | undefined>;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise<T | undefined>;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise<T | undefined>;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise<T | undefined> {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise<T | undefined>;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver<T>(value: any): value is Observer<T> {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber<T>(value: any): value is Subscriber<T> {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface ObjectUnsubscribedError extends Error {}\n\nexport interface ObjectUnsubscribedErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (): ObjectUnsubscribedError;\n}\n\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(\n (_super) =>\n function ObjectUnsubscribedErrorImpl(this: any) {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n }\n);\n", "import { Operator } from './Operator';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { Observer, SubscriptionLike, TeardownLogic } from './types';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A Subject is a special type of Observable that allows values to be\n * multicasted to many Observers. Subjects are like EventEmitters.\n *\n * Every Subject is an Observable and an Observer. You can subscribe to a\n * Subject, and you can call next to feed values as well as error and complete.\n */\nexport class Subject<T> extends Observable<T> implements SubscriptionLike {\n closed = false;\n\n private currentObservers: Observer<T>[] | null = null;\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n observers: Observer<T>[] = [];\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n isStopped = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n hasError = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n thrownError: any = null;\n\n /**\n * Creates a \"subject\" by basically gluing an observer to an observable.\n *\n * @deprecated Recommended you do not use. Will be removed at some point in the future. Plans for replacement still under discussion.\n */\n static create: (...args: any[]) => any = <T>(destination: Observer<T>, source: Observable<T>): AnonymousSubject<T> => {\n return new AnonymousSubject<T>(destination, source);\n };\n\n constructor() {\n // NOTE: This must be here to obscure Observable's constructor.\n super();\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n lift<R>(operator: Operator<T, R>): Observable<R> {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator as any;\n return subject as any;\n }\n\n /** @internal */\n protected _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n\n next(value: T) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n\n error(err: any) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.error(err);\n }\n }\n });\n }\n\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.complete();\n }\n }\n });\n }\n\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null!;\n }\n\n get observed() {\n return this.observers?.length > 0;\n }\n\n /** @internal */\n protected _trySubscribe(subscriber: Subscriber<T>): TeardownLogic {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber<T>): Subscription {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n\n /** @internal */\n protected _innerSubscribe(subscriber: Subscriber<any>) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n\n /** @internal */\n protected _checkFinalizedStatuses(subscriber: Subscriber<any>) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n\n /**\n * Creates a new Observable with this Subject as the source. You can do this\n * to create custom Observer-side logic of the Subject and conceal it from\n * code that uses the Observable.\n * @return Observable that this Subject casts to.\n */\n asObservable(): Observable<T> {\n const observable: any = new Observable<T>();\n observable.source = this;\n return observable;\n }\n}\n\nexport class AnonymousSubject<T> extends Subject<T> {\n constructor(\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n public destination?: Observer<T>,\n source?: Observable<T>\n ) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n this.destination?.next?.(value);\n }\n\n error(err: any) {\n this.destination?.error?.(err);\n }\n\n complete() {\n this.destination?.complete?.();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber<T>): Subscription {\n return this.source?.subscribe(subscriber) ?? EMPTY_SUBSCRIPTION;\n }\n}\n", "import { Subject } from './Subject';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\n\n/**\n * A variant of Subject that requires an initial value and emits its current\n * value whenever it is subscribed to.\n */\nexport class BehaviorSubject<T> extends Subject<T> {\n constructor(private _value: T) {\n super();\n }\n\n get value(): T {\n return this.getValue();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber<T>): Subscription {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n\n getValue(): T {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n\n next(value: T): void {\n super.next((this._value = value));\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { v4 as uuid } from 'uuid'\n\nimport { Activity, ConversationAccount } from '@microsoft/agents-activity'\nimport { Observable, BehaviorSubject, type Subscriber } from 'rxjs'\n\nimport { CopilotStudioClient } from './copilotStudioClient'\nimport { debug } from '@microsoft/agents-activity/logger'\n\nconst logger = debug('copilot-studio:webchat')\n\n/**\n * Configuration settings for the Copilot Studio WebChat connection.\n * These settings control the behavior and appearance of the WebChat interface\n * when connected to the Copilot Studio service.\n */\nexport interface CopilotStudioWebChatSettings {\n /**\n * Whether to show typing indicators in the WebChat when the agent is processing a response.\n * When enabled, users will see a typing indicator while waiting for the agent's reply,\n * providing visual feedback that their message is being processed.\n * @default false\n */\n showTyping?: boolean;\n}\n\n/**\n * Represents a connection interface for integrating Copilot Studio with WebChat.\n *\n * @remarks\n * This interface provides the necessary methods and observables to facilitate\n * bidirectional communication between a WebChat client and the Copilot Studio service.\n *\n * The connection follows the DirectLine protocol pattern, making it compatible with\n * Microsoft Bot Framework WebChat components.\n */\nexport interface CopilotStudioWebChatConnection {\n /**\n * An observable that emits the current connection status as numeric values.\n * This allows WebChat clients to monitor and react to connection state changes.\n *\n * Connection status values:\n * - 0: Disconnected - No active connection to the service\n * - 1: Connecting - Attempting to establish connection\n * - 2: Connected - Successfully connected and ready for communication\n */\n connectionStatus$: BehaviorSubject<number>;\n\n /**\n * An observable stream that emits incoming activities from the Copilot Studio service.\n * Each activity represents a message, card, or other interactive element sent by the agent.\n *\n * All emitted activities include:\n * - A timestamp indicating when the activity was received\n * - A 'webchat:sequence-id' in their channelData for proper message ordering\n * - Standard Bot Framework Activity properties (type, text, attachments, etc.)\n */\n activity$: Observable<Partial<Activity>>;\n\n /**\n * Posts a user activity to the Copilot Studio service and returns an observable\n * that emits the activity ID once the message is successfully sent.\n *\n * The method validates that the activity contains meaningful content and handles\n * the complete message flow including optional typing indicators.\n *\n * @param activity - The user activity to send. Must contain a non-empty text field.\n * @returns An observable that emits the unique activity ID upon successful posting.\n * @throws Error if the activity text is empty or if the connection is not properly initialized.\n */\n postActivity(activity: Activity): Observable<string>;\n\n /**\n * Gracefully terminates the connection to the Copilot Studio service.\n * This method ensures proper cleanup by completing all active observables\n * and releasing associated resources.\n *\n * After calling this method:\n * - The connectionStatus$ observable will be completed\n * - The activity$ observable will stop emitting new activities\n * - No further activities can be posted through this connection\n */\n end(): void;\n}\n\n/**\n * A utility class that provides WebChat integration capabilities for Copilot Studio services.\n *\n * @remarks\n * This class acts as a bridge between Microsoft Bot Framework WebChat and Copilot Studio,\n * enabling seamless communication through a DirectLine-compatible interface.\n *\n * ## Key Features:\n * - DirectLine protocol compatibility for easy WebChat integration\n * - Real-time bidirectional messaging with Copilot Studio agents\n * - Automatic conversation management and message sequencing\n * - Optional typing indicators for enhanced user experience\n * - Observable-based architecture for reactive programming patterns\n *\n * ## Usage Scenarios:\n * - Embedding Copilot Studio agents in web applications\n * - Creating custom chat interfaces with WebChat components\n * - Building conversational AI experiences with Microsoft's bot ecosystem\n *\n * @example Basic WebChat Integration\n * ```typescript\n * import { CopilotStudioClient } from '@microsoft/agents-copilotstudio-client';\n * import { CopilotStudioWebChat } from '@microsoft/agents-copilotstudio-client';\n *\n * // Initialize the Copilot Studio client\n * const client = new CopilotStudioClient({\n * botId: 'your-bot-id',\n * tenantId: 'your-tenant-id'\n * });\n *\n * // Create a WebChat-compatible connection\n * const directLine = CopilotStudioWebChat.createConnection(client, {\n * showTyping: true\n * });\n *\n * // Integrate with WebChat\n * window.WebChat.renderWebChat({\n * directLine: directLine,\n * // ... other WebChat options\n * }, document.getElementById('webchat'));\n * ```\n *\n * @example Advanced Usage with Connection Monitoring\n * ```typescript\n * const connection = CopilotStudioWebChat.createConnection(client);\n *\n * // Monitor connection status\n * connection.connectionStatus$.subscribe(status => {\n * switch (status) {\n * case 0: console.log('Disconnected'); break;\n * case 1: console.log('Connecting...'); break;\n * case 2: console.log('Connected and ready'); break;\n * }\n * });\n *\n * // Listen for incoming activities\n * connection.activity$.subscribe(activity => {\n * console.log('Received activity:', activity);\n * });\n * ```\n */\nexport class CopilotStudioWebChat {\n /**\n * Creates a DirectLine-compatible connection for integrating Copilot Studio with WebChat.\n *\n\n * @param client - A configured CopilotStudioClient instance that handles the underlying\n * communication with the Copilot Studio service. This client should be\n * properly authenticated and configured with the target bot details.\n *\n * @param settings - Optional configuration settings that control the behavior of the\n * WebChat connection. These settings allow customization of features\n * like typing indicators and other user experience enhancements.\n *\n * @returns A new CopilotStudioWebChatConnection instance that can be passed directly\n * to WebChat's renderWebChat function as the directLine parameter. The\n * connection is immediately ready for use and will automatically manage\n * the conversation lifecycle.\n *\n * @throws Error if the provided client is not properly configured or if there are\n * issues establishing the initial connection to the Copilot Studio service.\n *\n * @remarks\n * This method establishes a real-time communication channel between WebChat and the\n * Copilot Studio service. The returned connection object implements the DirectLine\n * protocol, making it fully compatible with Microsoft Bot Framework WebChat components.\n *\n * ## Connection Lifecycle:\n * 1. **Initialization**: Creates observables for connection status and activity streaming\n * 2. **Conversation Start**: Automatically initiates conversation when first activity is posted\n * 3. **Message Flow**: Handles bidirectional message exchange with proper sequencing\n * 4. **Cleanup**: Provides graceful connection termination\n *\n * ## Message Processing:\n * - User messages are validated and sent to Copilot Studio\n * - Agent responses are received and formatted for WebChat\n * - All activities include timestamps and sequence IDs for proper ordering\n * - Optional typing indicators provide visual feedback during processing\n *\n * @example\n * ```typescript\n * const connection = CopilotStudioWebChat.createConnection(client, {\n * showTyping: true\n * });\n *\n * // Use with WebChat\n * window.WebChat.renderWebChat({\n * directLine: connection\n * }, document.getElementById('webchat'));\n * ```\n */\n static createConnection (\n client: CopilotStudioClient,\n settings?: CopilotStudioWebChatSettings\n ):CopilotStudioWebChatConnection {\n logger.info('--> Creating connection between Copilot Studio and WebChat ...')\n let sequence = 0\n let activitySubscriber: Subscriber<Partial<Activity>> | undefined\n let conversation: ConversationAccount | undefined\n\n const connectionStatus$ = new BehaviorSubject(0)\n const activity$ = createObservable<Partial<Activity>>(async (subscriber) => {\n activitySubscriber = subscriber\n\n if (connectionStatus$.value < 2) {\n connectionStatus$.next(2)\n return\n }\n\n logger.debug('--> Connection established.')\n notifyTyping()\n const activity = await client.startConversationAsync()\n conversation = activity.conversation\n sequence = 0\n notifyActivity(activity)\n })\n\n const notifyActivity = (activity: Partial<Activity>) => {\n const newActivity = {\n ...activity,\n timestamp: new Date().toISOString(),\n channelData: {\n ...activity.channelData,\n 'webchat:sequence-id': sequence++,\n },\n }\n logger.debug(`Notify '${newActivity.type}' activity to WebChat:`, newActivity)\n activitySubscriber?.next(newActivity)\n }\n\n const notifyTyping = () => {\n if (!settings?.showTyping) {\n return\n }\n\n const from = conversation\n ? { id: conversation.id, name: conversation.name }\n : { id: 'agent', name: 'Agent' }\n notifyActivity({ type: 'typing', from })\n }\n\n return {\n connectionStatus$,\n activity$,\n postActivity (activity: Activity) {\n logger.info('--> Preparing to send activity to Copilot Studio ...')\n\n if (!activity.text?.trim()) {\n throw new Error('Activity text cannot be empty.')\n }\n\n if (!activitySubscriber) {\n throw new Error('Activity subscriber is not initialized.')\n }\n\n return createObservable<string>(async (subscriber) => {\n try {\n const id = uuid()\n\n logger.info('--> Sending activity to Copilot Studio ...')\n\n notifyActivity({ ...activity, id })\n notifyTyping()\n\n const activities = await client.askQuestionAsync(activity.text!)\n for (const responseActivity of activities) {\n notifyActivity(responseActivity)\n }\n\n subscriber.next(id)\n subscriber.complete()\n logger.info('--> Activity received correctly from Copilot Studio.')\n } catch (error) {\n logger.error('Error sending Activity to Copilot Studio:', error)\n subscriber.error(error)\n }\n })\n },\n\n end () {\n logger.info('--> Ending connection between Copilot Studio and WebChat ...')\n connectionStatus$.complete()\n if (activitySubscriber) {\n activitySubscriber.complete()\n activitySubscriber = undefined\n }\n },\n }\n }\n}\n\n/**\n * Creates an RxJS Observable that wraps an asynchronous function execution.\n *\n * @typeParam T - The type of value that the observable will emit\n * @param fn - An asynchronous function that receives a Subscriber and performs\n * the desired async operation. The function should call subscriber.next()\n * with results and subscriber.complete() when finished.\n * @returns A new Observable that executes the provided function and emits its results\n *\n * @remarks\n * This utility function provides a clean way to convert async/await patterns\n * into Observable streams, enabling integration with reactive programming patterns\n * used throughout the WebChat connection implementation.\n *\n * The created Observable handles promise resolution and rejection automatically,\n * converting them to appropriate next/error signals for subscribers.\n *\n * @example\n * ```typescript\n * const dataObservable = createObservable<string>(async (subscriber) => {\n * try {\n * const result = await fetchData();\n * subscriber.next(result);\n * subscriber.complete();\n * } catch (error) {\n * subscriber.error(error);\n * }\n * });\n * ```\n */\nfunction createObservable<T> (fn: (subscriber: Subscriber<T>) => void): Observable<T> {\n return new Observable<T>((subscriber: Subscriber<T>) => {\n Promise.resolve(fn(subscriber)).catch((error) => subscriber.error(error))\n })\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["require_ms", "__commonJSMin", "exports", "module", "s", "m", "h", "d", "w", "y", "val", "options", "type", "parse", "fmtLong", "fmtShort", "str", "match", "n", "ms", "msAbs", "plural", "name", "isPlural", "require_common", "__commonJSMin", "exports", "module", "setup", "env", "createDebug", "coerce", "disable", "enable", "enabled", "destroy", "key", "selectColor", "namespace", "hash", "i", "prevTime", "enableOverride", "namespacesCache", "enabledCache", "debug", "args", "self", "curr", "ms", "index", "match", "format", "formatter", "val", "extend", "v", "delimiter", "newDebug", "namespaces", "split", "ns", "matchesTemplate", "search", "template", "searchIndex", "templateIndex", "starIndex", "matchIndex", "name", "skip", "require_browser", "__commonJSMin", "exports", "module", "formatArgs", "save", "load", "useColors", "localstorage", "warned", "m", "args", "c", "index", "lastC", "match", "namespaces", "r", "formatters", "v", "error", "exports", "debug", "debug_1", "__importDefault", "loggerLevels", "Logger", "namespace", "level", "logger", "message", "args", "require_util", "__commonJSMin", "exports", "util", "_", "assertIs", "_arg", "assertNever", "_x", "items", "obj", "item", "validKeys", "k", "filtered", "e", "object", "keys", "key", "arr", "checker", "val", "joinValues", "array", "separator", "value", "objectUtil", "first", "second", "getParsedType", "data", "require_ZodError", "__commonJSMin", "exports", "util_js_1", "quotelessJson", "obj", "ZodError", "_ZodError", "issues", "sub", "subs", "actualProto", "_mapper", "mapper", "issue", "fieldErrors", "processError", "error", "curr", "i", "el", "value", "formErrors", "firstEl", "require_en", "__commonJSMin", "exports", "ZodError_js_1", "util_js_1", "errorMap", "issue", "_ctx", "message", "require_errors", "__commonJSMin", "exports", "__importDefault", "mod", "setErrorMap", "getErrorMap", "en_js_1", "overrideErrorMap", "map", "require_parseUtil", "__commonJSMin", "exports", "__importDefault", "mod", "addIssueToContext", "errors_js_1", "en_js_1", "makeIssue", "params", "data", "path", "errorMaps", "issueData", "fullPath", "fullIssue", "errorMessage", "maps", "m", "map", "ctx", "overrideMap", "issue", "x", "ParseStatus", "_ParseStatus", "status", "results", "arrayValue", "s", "pairs", "syncPairs", "pair", "key", "value", "finalObject", "DIRTY", "OK", "isAborted", "isDirty", "isValid", "isAsync", "require_typeAliases", "__commonJSMin", "exports", "require_errorUtil", "__commonJSMin", "exports", "errorUtil", "message", "require_types", "__commonJSMin", "exports", "datetimeRegex", "custom", "ZodError_js_1", "errors_js_1", "errorUtil_js_1", "parseUtil_js_1", "util_js_1", "ParseInputLazyPath", "parent", "value", "path", "key", "handleResult", "ctx", "result", "error", "processCreateParams", "params", "errorMap", "invalid_type_error", "required_error", "description", "iss", "_a", "_b", "message", "ZodType", "input", "data", "err", "maybeAsyncResult", "check", "getIssueProperties", "val", "setError", "refinementData", "refinement", "ZodEffects", "ZodFirstPartyTypeKind", "def", "ZodOptional", "ZodNullable", "ZodArray", "ZodPromise", "option", "ZodUnion", "incoming", "ZodIntersection", "transform", "defaultValueFunc", "ZodDefault", "ZodBranded", "catchValueFunc", "ZodCatch", "This", "target", "ZodPipeline", "ZodReadonly", "cuidRegex", "cuid2Regex", "ulidRegex", "uuidRegex", "nanoidRegex", "jwtRegex", "durationRegex", "emailRegex", "_emojiRegex", "emojiRegex", "ipv4Regex", "ipv4CidrRegex", "ipv6Regex", "ipv6CidrRegex", "base64Regex", "base64urlRegex", "dateRegexSource", "dateRegex", "timeRegexSource", "args", "secondsRegexSource", "secondsQuantifier", "timeRegex", "regex", "opts", "isValidIP", "ip", "version", "isValidJWT", "jwt", "alg", "header", "base64", "decoded", "isValidCidr", "ZodString", "_ZodString", "status", "tooBig", "tooSmall", "validation", "options", "minLength", "maxLength", "len", "ch", "min", "max", "floatSafeRemainder", "step", "valDecCount", "stepDecCount", "decCount", "valInt", "stepInt", "ZodNumber", "_ZodNumber", "kind", "inclusive", "ZodBigInt", "_ZodBigInt", "ZodBoolean", "ZodDate", "_ZodDate", "minDate", "maxDate", "ZodSymbol", "ZodUndefined", "ZodNull", "ZodAny", "ZodUnknown", "ZodNever", "ZodVoid", "_ZodArray", "item", "i", "schema", "deepPartialify", "ZodObject", "newShape", "fieldSchema", "ZodTuple", "_ZodObject", "shape", "keys", "shapeKeys", "extraKeys", "pairs", "keyValidator", "unknownKeys", "catchall", "syncPairs", "pair", "issue", "_c", "_d", "defaultError", "augmentation", "merging", "index", "mask", "newField", "createZodEnum", "handleResults", "results", "unionErrors", "childCtx", "dirty", "issues", "types", "getDiscriminator", "type", "ZodLazy", "ZodLiteral", "ZodEnum", "ZodNativeEnum", "ZodDiscriminatedUnion", "_ZodDiscriminatedUnion", "discriminator", "discriminatorValue", "optionsMap", "discriminatorValues", "mergeValues", "a", "b", "aType", "bType", "bKeys", "sharedKeys", "newObj", "sharedValue", "newArray", "itemA", "itemB", "handleParsed", "parsedLeft", "parsedRight", "merged", "left", "right", "_ZodTuple", "items", "itemIndex", "x", "rest", "schemas", "ZodRecord", "_ZodRecord", "keyType", "valueType", "first", "second", "third", "ZodMap", "finalMap", "ZodSet", "_ZodSet", "finalizeSet", "elements", "parsedSet", "element", "minSize", "maxSize", "size", "ZodFunction", "_ZodFunction", "makeArgsIssue", "makeReturnsIssue", "returns", "fn", "me", "parsedArgs", "e", "parsedReturns", "returnType", "func", "getter", "values", "_ZodEnum", "expectedValues", "enumValues", "newDef", "opt", "nativeEnumValues", "promisified", "effect", "checkCtx", "arg", "processed", "executeRefinement", "acc", "inner", "base", "preprocess", "newCtx", "ZodNaN", "_ZodPipeline", "inResult", "freeze", "cleanParams", "p", "_params", "fatal", "r", "_fatal", "instanceOfType", "cls", "stringType", "numberType", "nanType", "bigIntType", "booleanType", "dateType", "symbolType", "undefinedType", "nullType", "anyType", "unknownType", "neverType", "voidType", "arrayType", "objectType", "strictObjectType", "unionType", "discriminatedUnionType", "intersectionType", "tupleType", "recordType", "mapType", "setType", "functionType", "lazyType", "literalType", "enumType", "nativeEnumType", "promiseType", "effectsType", "optionalType", "nullableType", "preprocessType", "pipelineType", "ostring", "onumber", "oboolean", "require_external", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_zod", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__setModuleDefault", "v", "__importStar", "mod", "result", "__exportStar", "p", "z", "zod_1", "ActionTypes", "exports", "zod_1", "SemanticActionStateTypes", "exports", "zod_1", "AttachmentLayoutTypes", "exports", "Channels", "exports", "zod_1", "EndOfConversationCodes", "exports", "zod_1", "RoleTypes", "exports", "addAIToActivity", "activity", "citations", "usageInfo", "aiEntity", "_a", "exports", "zod_1", "exports", "require_max", "__commonJSMin", "exports", "require_nil", "__commonJSMin", "exports", "require_regex", "__commonJSMin", "exports", "require_validate", "__commonJSMin", "exports", "regex_js_1", "validate", "uuid", "require_parse", "__commonJSMin", "exports", "validate_js_1", "parse", "uuid", "v", "require_stringify", "__commonJSMin", "exports", "validate_js_1", "byteToHex", "i", "unsafeStringify", "arr", "offset", "stringify", "uuid", "require_rng", "__commonJSMin", "exports", "getRandomValues", "rnds8", "rng", "require_v1", "__commonJSMin", "exports", "rng_js_1", "stringify_js_1", "_state", "v1", "options", "buf", "offset", "_a", "_b", "_c", "_d", "bytes", "isV6", "optionsKeys", "v1Bytes", "now", "rnds", "updateV1State", "state", "msecs", "nsecs", "clockseq", "node", "tl", "tmh", "n", "require_v1ToV6", "__commonJSMin", "exports", "parse_js_1", "stringify_js_1", "v1ToV6", "uuid", "v1Bytes", "v6Bytes", "_v1ToV6", "require_md5", "__commonJSMin", "exports", "md5", "bytes", "words", "uint8ToUint32", "md5Bytes", "wordsToMd5", "uint32ToUint8", "input", "i", "getOutputLength", "inputLength8", "x", "len", "xpad", "a", "b", "c", "d", "olda", "oldb", "oldc", "oldd", "md5ff", "md5gg", "md5hh", "md5ii", "safeAdd", "output", "y", "lsw", "bitRotateLeft", "num", "cnt", "md5cmn", "q", "s", "t", "require_v35", "__commonJSMin", "exports", "parse_js_1", "stringify_js_1", "stringToBytes", "str", "bytes", "i", "v35", "version", "hash", "value", "namespace", "buf", "offset", "valueBytes", "namespaceBytes", "require_v3", "__commonJSMin", "exports", "md5_js_1", "v35_js_1", "v35_js_2", "v3", "value", "namespace", "buf", "offset", "require_native", "__commonJSMin", "exports", "randomUUID", "require_v4", "__commonJSMin", "exports", "native_js_1", "rng_js_1", "stringify_js_1", "v4", "options", "buf", "offset", "_a", "_b", "_c", "rnds", "i", "require_sha1", "__commonJSMin", "exports", "f", "s", "x", "y", "z", "ROTL", "n", "sha1", "bytes", "K", "H", "newBytes", "l", "N", "M", "i", "arr", "j", "W", "t", "a", "b", "c", "d", "e", "T", "require_v5", "__commonJSMin", "exports", "sha1_js_1", "v35_js_1", "v35_js_2", "v5", "value", "namespace", "buf", "offset", "require_v6", "__commonJSMin", "exports", "stringify_js_1", "v1_js_1", "v1ToV6_js_1", "v6", "options", "buf", "offset", "bytes", "i", "require_v6ToV1", "__commonJSMin", "exports", "parse_js_1", "stringify_js_1", "v6ToV1", "uuid", "v6Bytes", "v1Bytes", "_v6ToV1", "require_v7", "__commonJSMin", "exports", "rng_js_1", "stringify_js_1", "_state", "v7", "options", "buf", "offset", "_a", "_b", "_c", "bytes", "v7Bytes", "now", "rnds", "updateV7State", "state", "msecs", "seq", "require_version", "__commonJSMin", "exports", "validate_js_1", "version", "uuid", "require_cjs_browser", "__commonJSMin", "exports", "max_js_1", "nil_js_1", "parse_js_1", "stringify_js_1", "v1_js_1", "v1ToV6_js_1", "v3_js_1", "v4_js_1", "v5_js_1", "v6_js_1", "v6ToV1_js_1", "v7_js_1", "validate_js_1", "version_js_1", "zod_1", "exports", "zod_1", "entity_1", "semanticActionStateTypes_1", "exports", "zod_1", "actionTypes_1", "exports", "zod_1", "cardAction_1", "exports", "zod_1", "ActivityEventNames", "exports", "zod_1", "ActivityImportance", "exports", "zod_1", "ActivityTypes", "exports", "zod_1", "exports", "zod_1", "roleTypes_1", "exports", "zod_1", "roleTypes_1", "exports", "zod_1", "channelAccount_1", "conversationAccount_1", "exports", "zod_1", "DeliveryModes", "exports", "zod_1", "InputHints", "exports", "zod_1", "MessageReactionTypes", "exports", "zod_1", "messageReactionTypes_1", "exports", "zod_1", "TextFormatTypes", "exports", "zod_1", "exports", "uuid_1", "zod_1", "semanticAction_1", "suggestedActions_1", "activityEventNames_1", "activityImportance_1", "activityTypes_1", "attachment_1", "attachmentLayoutTypes_1", "channelAccount_1", "channels_1", "conversationAccount_1", "conversationReference_1", "endOfConversationCodes_1", "deliveryModes_1", "entity_1", "inputHints_1", "messageReaction_1", "textFormatTypes_1", "textHighlight_1", "exports", "s", "Activity", "_Activity", "t", "json", "o", "parsedActivity", "activity", "reference", "continuationActivityObj", "isIncoming", "_a", "_b", "_c", "activityCopy", "key", "result", "i", "removeMention", "entity", "mentions", "mention", "text", "foundTag", "iAtStart", "iAtEnd", "iAtClose", "followingText", "tagContent", "prefixText", "id", "mentionsFiltered", "replyId", "exports", "zod_1", "ActivityTreatments", "exports", "actionTypes_1", "exports", "semanticActionStateTypes_1", "attachmentLayoutTypes_1", "channels_1", "endOfConversationCodes_1", "roleTypes_1", "__exportStar", "activity_1", "activityEventNames_1", "activityImportance_1", "activityTypes_1", "callerIdConstants_1", "deliveryModes_1", "inputHints_1", "messageReactionTypes_1", "textFormatTypes_1", "activityTreatments_1", "logger_1", "AgentType", "PowerPlatformCloud", "ConnectionOptions", "ConnectionSettings", "options", "_a", "_b", "cloud", "copilotAgentType", "authority", "PowerPlatformCloud", "AgentType", "loadCopilotStudioConnectionSettingsFromEnv", "_c", "_d", "_e", "_f", "bind", "fn", "thisArg", "toString", "getPrototypeOf", "iterator", "toStringTag", "kindOf", "cache", "thing", "str", "kindOfTest", "type", "typeOfTest", "isArray", "isUndefined", "isBuffer", "val", "isFunction", "isArrayBuffer", "isArrayBufferView", "result", "isString", "isNumber", "isObject", "isBoolean", "isPlainObject", "prototype", "isEmptyObject", "isDate", "isFile", "isBlob", "isFileList", "isStream", "isFormData", "kind", "isURLSearchParams", "isReadableStream", "isRequest", "isResponse", "isHeaders", "trim", "forEach", "obj", "fn", "allOwnKeys", "i", "l", "keys", "len", "key", "findKey", "_key", "_global", "isContextDefined", "context", "merge", "caseless", "assignValue", "targetKey", "extend", "a", "b", "thisArg", "bind", "stripBOM", "content", "inherits", "constructor", "superConstructor", "props", "descriptors", "toFlatObject", "sourceObj", "destObj", "filter", "propFilter", "prop", "merged", "endsWith", "searchString", "position", "lastIndex", "toArray", "arr", "isTypedArray", "TypedArray", "forEachEntry", "_iterator", "pair", "matchAll", "regExp", "matches", "isHTMLForm", "toCamelCase", "m", "p1", "p2", "hasOwnProperty", "isRegExp", "reduceDescriptors", "reducer", "reducedDescriptors", "descriptor", "name", "ret", "freezeMethods", "value", "toObjectSet", "arrayOrString", "delimiter", "define", "noop", "toFiniteNumber", "defaultValue", "isSpecCompliantForm", "toJSONObject", "stack", "visit", "source", "target", "reducedValue", "isAsyncFn", "isThenable", "_setImmediate", "setImmediateSupported", "postMessageSupported", "token", "callbacks", "data", "cb", "asap", "isIterable", "utils_default", "AxiosError", "message", "code", "config", "request", "response", "utils_default", "prototype", "descriptors", "error", "customProps", "axiosError", "obj", "prop", "AxiosError_default", "null_default", "isVisitable", "thing", "utils_default", "removeBrackets", "key", "renderKey", "path", "dots", "token", "isFlatArray", "arr", "predicates", "prop", "toFormData", "obj", "formData", "options", "null_default", "option", "source", "metaTokens", "visitor", "defaultVisitor", "indexes", "useBlob", "convertValue", "value", "AxiosError_default", "el", "index", "stack", "exposedHelpers", "build", "toFormData_default", "encode", "str", "charMap", "match", "AxiosURLSearchParams", "params", "options", "toFormData_default", "prototype", "name", "value", "encoder", "_encode", "pair", "AxiosURLSearchParams_default", "encode", "val", "buildURL", "url", "params", "options", "_encode", "utils_default", "serializeFn", "serializedParams", "AxiosURLSearchParams_default", "hashmarkIndex", "InterceptorManager", "fulfilled", "rejected", "options", "id", "fn", "utils_default", "h", "InterceptorManager_default", "transitional_default", "URLSearchParams_default", "AxiosURLSearchParams_default", "FormData_default", "Blob_default", "browser_default", "URLSearchParams_default", "FormData_default", "Blob_default", "utils_exports", "__export", "hasBrowserEnv", "hasStandardBrowserEnv", "hasStandardBrowserWebWorkerEnv", "_navigator", "origin", "platform_default", "utils_exports", "browser_default", "toURLEncodedForm", "data", "options", "toFormData_default", "platform_default", "value", "key", "path", "helpers", "utils_default", "parsePropPath", "name", "utils_default", "match", "arrayToObject", "arr", "obj", "keys", "i", "len", "key", "formDataToJSON", "formData", "buildPath", "path", "value", "target", "index", "isNumericKey", "isLast", "formDataToJSON_default", "stringifySafely", "rawValue", "parser", "encoder", "utils_default", "e", "defaults", "transitional_default", "data", "headers", "contentType", "hasJSONContentType", "isObjectPayload", "formDataToJSON_default", "isFileList", "toURLEncodedForm", "_FormData", "toFormData_default", "transitional", "forcedJSONParsing", "JSONRequested", "strictJSONParsing", "AxiosError_default", "platform_default", "status", "method", "defaults_default", "ignoreDuplicateOf", "utils_default", "parseHeaders_default", "rawHeaders", "parsed", "key", "val", "i", "line", "$internals", "normalizeHeader", "header", "normalizeValue", "value", "utils_default", "parseTokens", "str", "tokens", "tokensRE", "match", "isValidHeaderName", "matchHeaderValue", "context", "filter", "isHeaderNameFilter", "formatHeader", "w", "char", "buildAccessors", "obj", "accessorName", "methodName", "arg1", "arg2", "arg3", "AxiosHeaders", "headers", "valueOrRewrite", "rewrite", "self", "setHeader", "_value", "_header", "_rewrite", "lHeader", "key", "setHeaders", "parseHeaders_default", "dest", "entry", "parser", "matcher", "deleted", "deleteHeader", "keys", "i", "format", "normalized", "targets", "asStrings", "thing", "first", "computed", "target", "accessors", "prototype", "defineAccessor", "mapped", "headerValue", "AxiosHeaders_default", "transformData", "fns", "response", "config", "defaults_default", "context", "headers", "AxiosHeaders_default", "data", "utils_default", "fn", "isCancel", "value", "CanceledError", "message", "config", "request", "AxiosError_default", "utils_default", "CanceledError_default", "settle", "resolve", "reject", "response", "validateStatus", "AxiosError_default", "parseProtocol", "url", "match", "speedometer", "samplesCount", "min", "bytes", "timestamps", "head", "tail", "firstSampleTS", "chunkLength", "now", "startedAt", "i", "bytesCount", "passed", "speedometer_default", "throttle", "fn", "freq", "timestamp", "threshold", "lastArgs", "timer", "invoke", "args", "now", "passed", "throttle_default", "progressEventReducer", "listener", "isDownloadStream", "freq", "bytesNotified", "_speedometer", "speedometer_default", "throttle_default", "e", "loaded", "total", "progressBytes", "rate", "inRange", "data", "progressEventDecorator", "throttled", "lengthComputable", "asyncDecorator", "fn", "args", "utils_default", "isURLSameOrigin_default", "platform_default", "origin", "isMSIE", "url", "cookies_default", "platform_default", "name", "value", "expires", "path", "domain", "secure", "cookie", "utils_default", "match", "isAbsoluteURL", "url", "combineURLs", "baseURL", "relativeURL", "buildFullPath", "baseURL", "requestedURL", "allowAbsoluteUrls", "isRelativeUrl", "isAbsoluteURL", "combineURLs", "headersToObject", "thing", "AxiosHeaders_default", "mergeConfig", "config1", "config2", "config", "getMergedValue", "target", "source", "prop", "caseless", "utils_default", "mergeDeepProperties", "a", "b", "valueFromConfig2", "defaultToConfig2", "mergeDirectKeys", "mergeMap", "merge", "configValue", "resolveConfig_default", "config", "newConfig", "mergeConfig", "data", "withXSRFToken", "xsrfHeaderName", "xsrfCookieName", "headers", "auth", "AxiosHeaders_default", "buildURL", "buildFullPath", "contentType", "utils_default", "platform_default", "type", "tokens", "token", "isURLSameOrigin_default", "xsrfValue", "cookies_default", "isXHRAdapterSupported", "xhr_default", "config", "resolve", "reject", "_config", "resolveConfig_default", "requestData", "requestHeaders", "AxiosHeaders_default", "responseType", "onUploadProgress", "onDownloadProgress", "onCanceled", "uploadThrottled", "downloadThrottled", "flushUpload", "flushDownload", "done", "request", "onloadend", "responseHeaders", "response", "settle", "value", "err", "AxiosError_default", "timeoutErrorMessage", "transitional", "transitional_default", "utils_default", "val", "key", "progressEventReducer", "cancel", "CanceledError_default", "protocol", "parseProtocol", "platform_default", "composeSignals", "signals", "timeout", "length", "controller", "aborted", "onabort", "reason", "unsubscribe", "err", "AxiosError_default", "CanceledError_default", "timer", "signal", "utils_default", "composeSignals_default", "streamChunk", "chunk", "chunkSize", "len", "pos", "end", "readBytes", "iterable", "readStream", "stream", "reader", "done", "value", "trackStream", "onProgress", "onFinish", "iterator", "bytes", "_onFinish", "e", "controller", "loadedBytes", "err", "reason", "isFetchSupported", "isReadableStreamSupported", "encodeText", "encoder", "str", "test", "fn", "args", "supportsRequestStream", "duplexAccessed", "hasContentType", "platform_default", "DEFAULT_CHUNK_SIZE", "supportsResponseStream", "utils_default", "resolvers", "res", "type", "_", "config", "AxiosError_default", "getBodyLength", "body", "resolveBodyLength", "headers", "length", "fetch_default", "url", "method", "data", "signal", "cancelToken", "timeout", "onDownloadProgress", "onUploadProgress", "responseType", "withCredentials", "fetchOptions", "resolveConfig_default", "composedSignal", "composeSignals_default", "request", "unsubscribe", "requestContentLength", "_request", "contentTypeHeader", "onProgress", "flush", "progressEventDecorator", "progressEventReducer", "asyncDecorator", "trackStream", "isCredentialsSupported", "response", "isStreamResponse", "options", "prop", "responseContentLength", "responseData", "resolve", "reject", "settle", "AxiosHeaders_default", "err", "knownAdapters", "null_default", "xhr_default", "fetch_default", "utils_default", "fn", "value", "renderReason", "reason", "isResolvedHandle", "adapter", "adapters_default", "adapters", "length", "nameOrAdapter", "rejectedReasons", "id", "AxiosError_default", "reasons", "state", "throwIfCancellationRequested", "config", "CanceledError_default", "dispatchRequest", "AxiosHeaders_default", "transformData", "adapters_default", "defaults_default", "response", "reason", "isCancel", "VERSION", "validators", "type", "i", "thing", "deprecatedWarnings", "validator", "version", "message", "formatMessage", "opt", "desc", "VERSION", "value", "opts", "AxiosError_default", "correctSpelling", "assertOptions", "options", "schema", "allowUnknown", "keys", "result", "validator_default", "validators", "validator_default", "Axios", "instanceConfig", "InterceptorManager_default", "configOrUrl", "config", "err", "dummy", "stack", "mergeConfig", "transitional", "paramsSerializer", "headers", "utils_default", "contextHeaders", "method", "AxiosHeaders_default", "requestInterceptorChain", "synchronousRequestInterceptors", "interceptor", "responseInterceptorChain", "promise", "i", "len", "chain", "dispatchRequest", "newConfig", "onFulfilled", "onRejected", "error", "fullPath", "buildFullPath", "buildURL", "url", "generateHTTPMethod", "isForm", "data", "Axios_default", "CancelToken", "_CancelToken", "executor", "resolvePromise", "resolve", "token", "cancel", "onfulfilled", "_resolve", "promise", "message", "config", "request", "CanceledError_default", "listener", "index", "controller", "abort", "err", "c", "CancelToken_default", "spread", "callback", "arr", "isAxiosError", "payload", "utils_default", "HttpStatusCode", "key", "value", "HttpStatusCode_default", "createInstance", "defaultConfig", "context", "Axios_default", "instance", "bind", "utils_default", "instanceConfig", "mergeConfig", "axios", "defaults_default", "CanceledError_default", "CancelToken_default", "isCancel", "VERSION", "toFormData_default", "AxiosError_default", "promises", "spread", "isAxiosError", "AxiosHeaders_default", "thing", "formDataToJSON_default", "adapters_default", "HttpStatusCode_default", "axios_default", "Axios", "AxiosError", "CanceledError", "isCancel", "CancelToken", "VERSION", "all", "Cancel", "isAxiosError", "spread", "toFormData", "AxiosHeaders", "HttpStatusCode", "formToJSON", "getAdapter", "mergeConfig", "axios_default", "import_logger", "PrebuiltBotStrategy", "settings", "identifier", "host", "conversationId", "conversationUrl", "PublishedBotStrategy", "settings", "schema", "host", "conversationId", "conversationUrl", "logger", "getCopilotStudioConnectionUrl", "settings", "conversationId", "_a", "_b", "_c", "_d", "_e", "_f", "isValidUri", "createURL", "cloudSetting", "agentType", "host", "getEnvironmentEndpoint", "url", "PublishedBotStrategy", "PrebuiltBotStrategy", "getTokenAudience", "cloud", "cloudBaseAddress", "directConnectUrl", "getEndpointSuffix", "decodeCloudFromURI", "cloudToTest", "uri", "absoluteUrl", "base", "environmentId", "normalizedResourceId", "idSuffixLength", "getIdSuffixLength", "hexPrefix", "hexSuffix", "category", "import_agents_activity", "ExecuteTurnRequest", "activity", "import_logger", "version", "os_default", "logger", "_CopilotStudioClient", "settings", "token", "axios_default", "axiosConfig", "_a", "_b", "_c", "_d", "activities", "response", "islandExperimentalUrl", "sanitizedHeaders", "reader", "result", "results", "processEvents", "done", "value", "event", "e", "ve", "act", "versionString", "version", "userAgent", "os_default", "emitStartConversationEvent", "config", "getCopilotStudioConnectionUrl", "values", "question", "conversationId", "activityObj", "activity", "localConversationId", "uriExecute", "qbody", "ExecuteTurnRequest", "getTokenAudience", "CopilotStudioClient", "byteToHex", "i", "unsafeStringify", "arr", "offset", "getRandomValues", "rnds8", "rng", "randomUUID", "native_default", "v4", "options", "buf", "offset", "_a", "_b", "_c", "native_default", "rnds", "rng", "i", "unsafeStringify", "v4_default", "extendStatics", "d", "b", "p", "__extends", "__", "__values", "o", "s", "m", "i", "__read", "n", "r", "ar", "e", "error", "__spreadArray", "to", "from", "pack", "i", "l", "ar", "isFunction", "value", "createErrorClass", "createImpl", "_super", "instance", "ctorFunc", "UnsubscriptionError", "createErrorClass", "_super", "errors", "err", "i", "arrRemove", "arr", "item", "index", "Subscription", "initialTeardown", "errors", "_parentage", "_parentage_1", "__values", "_parentage_1_1", "parent_1", "initialFinalizer", "isFunction", "e", "UnsubscriptionError", "_finalizers", "_finalizers_1", "_finalizers_1_1", "finalizer", "execFinalizer", "err", "__spreadArray", "__read", "teardown", "_a", "parent", "arrRemove", "empty", "EMPTY_SUBSCRIPTION", "Subscription", "isSubscription", "value", "isFunction", "execFinalizer", "finalizer", "config", "timeoutProvider", "handler", "timeout", "args", "_i", "delegate", "__spreadArray", "__read", "handle", "reportUnhandledError", "err", "timeoutProvider", "onUnhandledError", "config", "noop", "COMPLETE_NOTIFICATION", "createNotification", "errorNotification", "error", "nextNotification", "value", "kind", "context", "errorContext", "cb", "config", "isRoot", "_a", "errorThrown", "error", "captureError", "err", "Subscriber", "_super", "__extends", "destination", "_this", "isSubscription", "EMPTY_OBSERVER", "next", "error", "complete", "SafeSubscriber", "value", "handleStoppedNotification", "nextNotification", "err", "errorNotification", "COMPLETE_NOTIFICATION", "Subscription", "_bind", "bind", "fn", "thisArg", "ConsumerObserver", "partialObserver", "value", "error", "handleUnhandledError", "err", "SafeSubscriber", "_super", "__extends", "observerOrNext", "complete", "_this", "isFunction", "context_1", "config", "Subscriber", "handleUnhandledError", "error", "config", "captureError", "reportUnhandledError", "defaultErrorHandler", "err", "handleStoppedNotification", "notification", "subscriber", "onStoppedNotification", "timeoutProvider", "EMPTY_OBSERVER", "noop", "observable", "identity", "x", "pipeFromArray", "fns", "identity", "input", "prev", "fn", "Observable", "subscribe", "operator", "observable", "observerOrNext", "error", "complete", "_this", "subscriber", "isSubscriber", "SafeSubscriber", "errorContext", "_a", "source", "sink", "err", "next", "promiseCtor", "getPromiseCtor", "resolve", "reject", "value", "operations", "_i", "pipeFromArray", "x", "getPromiseCtor", "promiseCtor", "_a", "config", "isObserver", "value", "isFunction", "isSubscriber", "Subscriber", "isSubscription", "ObjectUnsubscribedError", "createErrorClass", "_super", "Subject", "_super", "__extends", "_this", "operator", "subject", "AnonymousSubject", "ObjectUnsubscribedError", "value", "errorContext", "_b", "__values", "_c", "observer", "err", "observers", "_a", "subscriber", "hasError", "isStopped", "EMPTY_SUBSCRIPTION", "Subscription", "arrRemove", "thrownError", "observable", "Observable", "destination", "source", "AnonymousSubject", "_super", "__extends", "destination", "source", "_this", "value", "_b", "_a", "err", "subscriber", "EMPTY_SUBSCRIPTION", "Subject", "BehaviorSubject", "_super", "__extends", "_value", "_this", "subscriber", "subscription", "_a", "hasError", "thrownError", "value", "Subject", "import_logger", "logger", "CopilotStudioWebChat", "client", "settings", "sequence", "activitySubscriber", "conversation", "connectionStatus$", "BehaviorSubject", "activity$", "createObservable", "subscriber", "notifyTyping", "activity", "notifyActivity", "newActivity", "from", "_a", "id", "v4_default", "activities", "responseActivity", "error", "fn", "Observable"]
|
|
4
|
+
"sourcesContent": ["/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n", "\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n", "/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport createDebug, { Debugger } from 'debug'\n\nconst loggerLevels = [\n 'info',\n 'warn',\n 'error',\n 'debug',\n] as const\n\ntype LoggerLevels = typeof loggerLevels[number]\n\n/**\n * Logger class that provides colored logging functionality using the debug package.\n * Supports different log levels: info, warn, error, and debug.\n */\nexport class Logger {\n private loggers: { [K in LoggerLevels]: Debugger } = {} as any\n\n /**\n * Creates a new Logger instance with the specified namespace.\n * @param namespace The namespace to use for the logger\n */\n constructor (namespace: string = '') {\n this.initializeLoggers(namespace)\n }\n\n private initializeLoggers (namespace: string) {\n for (const level of loggerLevels) {\n const logger = createDebug(`${namespace}:${level}`)\n logger.color = this.getPlatformColor(level)\n this.loggers[level] = logger\n }\n }\n\n private getPlatformColor (level: LoggerLevels): string {\n const platform = typeof window !== 'undefined' ? 'browser' : 'node'\n const colors = {\n node: {\n info: '2', // Green\n warn: '3', // Yellow\n error: '1', // Red\n debug: '4', // Blue\n },\n browser: {\n info: '#33CC99', // Green\n warn: '#CCCC33', // Yellow\n error: '#CC3366', // Red\n debug: '#0066FF', // Blue\n },\n }\n\n return colors[platform][level]\n }\n\n /**\n * Logs an informational message.\n * @param message The message to log\n * @param args Additional arguments to include in the log\n */\n info (message: string, ...args: any[]) {\n this.loggers.info(message, ...args)\n }\n\n /**\n * Logs a warning message.\n * @param message The message to log\n * @param args Additional arguments to include in the log\n */\n warn (message: string, ...args: any[]) {\n this.loggers.warn(message, ...args)\n }\n\n /**\n * Logs an error message.\n * @param message The message to log\n * @param args Additional arguments to include in the log\n */\n error (message: string, ...args: any[]) {\n this.loggers.error(message, ...args)\n }\n\n /**\n * Logs a debug message.\n * @param message The message to log\n * @param args Additional arguments to include in the log\n */\n debug (message: string, ...args: any[]) {\n this.loggers.debug(message, ...args)\n }\n}\n\n/**\n * Creates a new Logger instance with the specified namespace.\n * @param namespace The namespace to use for the logger\n * @returns A new Logger instance\n */\nexport function debug (namespace: string): Logger {\n return new Logger(namespace)\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParsedType = exports.ZodParsedType = exports.objectUtil = exports.util = void 0;\nvar util;\n(function (util) {\n util.assertEqual = (_) => { };\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && Number.isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array.map((val) => (typeof val === \"string\" ? `'${val}'` : val)).join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (exports.util = util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (exports.objectUtil = objectUtil = {}));\nexports.ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return exports.ZodParsedType.undefined;\n case \"string\":\n return exports.ZodParsedType.string;\n case \"number\":\n return Number.isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number;\n case \"boolean\":\n return exports.ZodParsedType.boolean;\n case \"function\":\n return exports.ZodParsedType.function;\n case \"bigint\":\n return exports.ZodParsedType.bigint;\n case \"symbol\":\n return exports.ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return exports.ZodParsedType.array;\n }\n if (data === null) {\n return exports.ZodParsedType.null;\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return exports.ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return exports.ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return exports.ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return exports.ZodParsedType.date;\n }\n return exports.ZodParsedType.object;\n default:\n return exports.ZodParsedType.unknown;\n }\n};\nexports.getParsedType = getParsedType;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZodError = exports.quotelessJson = exports.ZodIssueCode = void 0;\nconst util_js_1 = require(\"./helpers/util.cjs\");\nexports.ZodIssueCode = util_js_1.util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexports.quotelessJson = quotelessJson;\nclass ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util_js_1.util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n const firstEl = sub.path[0];\n fieldErrors[firstEl] = fieldErrors[firstEl] || [];\n fieldErrors[firstEl].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nexports.ZodError = ZodError;\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst ZodError_js_1 = require(\"../ZodError.cjs\");\nconst util_js_1 = require(\"../helpers/util.cjs\");\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodError_js_1.ZodIssueCode.invalid_type:\n if (issue.received === util_js_1.ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodError_js_1.ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util_js_1.util.jsonStringifyReplacer)}`;\n break;\n case ZodError_js_1.ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util_js_1.util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util_js_1.util.joinValues(issue.options)}`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util_js_1.util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util_js_1.util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodError_js_1.ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"bigint\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_js_1.ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_js_1.ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodError_js_1.ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodError_js_1.ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util_js_1.util.assertNever(issue);\n }\n return { message };\n};\nexports.default = errorMap;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultErrorMap = void 0;\nexports.setErrorMap = setErrorMap;\nexports.getErrorMap = getErrorMap;\nconst en_js_1 = __importDefault(require(\"./locales/en.cjs\"));\nexports.defaultErrorMap = en_js_1.default;\nlet overrideErrorMap = en_js_1.default;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.EMPTY_PATH = exports.makeIssue = void 0;\nexports.addIssueToContext = addIssueToContext;\nconst errors_js_1 = require(\"../errors.cjs\");\nconst en_js_1 = __importDefault(require(\"../locales/en.cjs\"));\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message,\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage,\n };\n};\nexports.makeIssue = makeIssue;\nexports.EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const overrideMap = (0, errors_js_1.getErrorMap)();\n const issue = (0, exports.makeIssue)({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap, // contextual error map is first priority\n ctx.schemaErrorMap, // then schema-bound map if available\n overrideMap, // then global override map\n overrideMap === en_js_1.default ? undefined : en_js_1.default, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return exports.INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return exports.INVALID;\n if (value.status === \"aborted\")\n return exports.INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" && (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexports.ParseStatus = ParseStatus;\nexports.INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nexports.DIRTY = DIRTY;\nconst OK = (value) => ({ status: \"valid\", value });\nexports.OK = OK;\nconst isAborted = (x) => x.status === \"aborted\";\nexports.isAborted = isAborted;\nconst isDirty = (x) => x.status === \"dirty\";\nexports.isDirty = isDirty;\nconst isValid = (x) => x.status === \"valid\";\nexports.isValid = isValid;\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\nexports.isAsync = isAsync;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorUtil = void 0;\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n // biome-ignore lint:\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message?.message;\n})(errorUtil || (exports.errorUtil = errorUtil = {}));\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.discriminatedUnion = exports.date = exports.boolean = exports.bigint = exports.array = exports.any = exports.coerce = exports.ZodFirstPartyTypeKind = exports.late = exports.ZodSchema = exports.Schema = exports.ZodReadonly = exports.ZodPipeline = exports.ZodBranded = exports.BRAND = exports.ZodNaN = exports.ZodCatch = exports.ZodDefault = exports.ZodNullable = exports.ZodOptional = exports.ZodTransformer = exports.ZodEffects = exports.ZodPromise = exports.ZodNativeEnum = exports.ZodEnum = exports.ZodLiteral = exports.ZodLazy = exports.ZodFunction = exports.ZodSet = exports.ZodMap = exports.ZodRecord = exports.ZodTuple = exports.ZodIntersection = exports.ZodDiscriminatedUnion = exports.ZodUnion = exports.ZodObject = exports.ZodArray = exports.ZodVoid = exports.ZodNever = exports.ZodUnknown = exports.ZodAny = exports.ZodNull = exports.ZodUndefined = exports.ZodSymbol = exports.ZodDate = exports.ZodBoolean = exports.ZodBigInt = exports.ZodNumber = exports.ZodString = exports.ZodType = void 0;\nexports.NEVER = exports.void = exports.unknown = exports.union = exports.undefined = exports.tuple = exports.transformer = exports.symbol = exports.string = exports.strictObject = exports.set = exports.record = exports.promise = exports.preprocess = exports.pipeline = exports.ostring = exports.optional = exports.onumber = exports.oboolean = exports.object = exports.number = exports.nullable = exports.null = exports.never = exports.nativeEnum = exports.nan = exports.map = exports.literal = exports.lazy = exports.intersection = exports.instanceof = exports.function = exports.enum = exports.effect = void 0;\nexports.datetimeRegex = datetimeRegex;\nexports.custom = custom;\nconst ZodError_js_1 = require(\"./ZodError.cjs\");\nconst errors_js_1 = require(\"./errors.cjs\");\nconst errorUtil_js_1 = require(\"./helpers/errorUtil.cjs\");\nconst parseUtil_js_1 = require(\"./helpers/parseUtil.cjs\");\nconst util_js_1 = require(\"./helpers/util.cjs\");\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (Array.isArray(this._key)) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if ((0, parseUtil_js_1.isValid)(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError_js_1.ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message ?? ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: message ?? required_error ?? ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: message ?? invalid_type_error ?? ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return (0, util_js_1.getParsedType)(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_js_1.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new parseUtil_js_1.ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_js_1.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if ((0, parseUtil_js_1.isAsync)(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n const ctx = {\n common: {\n issues: [],\n async: params?.async ?? false,\n contextualErrorMap: params?.errorMap,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return (0, parseUtil_js_1.isValid)(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if (err?.message?.toLowerCase()?.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => (0, parseUtil_js_1.isValid)(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params?.errorMap,\n async: true,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await ((0, parseUtil_js_1.isAsync)(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodError_js_1.ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\" ? refinementData(val, ctx) : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nexports.ZodType = ZodType;\nexports.Schema = ZodType;\nexports.ZodSchema = ZodType;\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&\u2019*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n let secondsRegexSource = `[0-5]\\\\d`;\n if (args.precision) {\n secondsRegexSource = `${secondsRegexSource}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n secondsRegexSource = `${secondsRegexSource}(\\\\.\\\\d+)?`;\n }\n const secondsQuantifier = args.precision ? \"+\" : \"?\"; // require seconds if precision is nonzero\n return `([01]\\\\d|2[0-3]):[0-5]\\\\d(:${secondsRegexSource})${secondsQuantifier}`;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nfunction datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n if (!header)\n return false;\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (\"typ\" in decoded && decoded?.typ !== \"JWT\")\n return false;\n if (!decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.string,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const status = new parseUtil_js_1.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"email\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"emoji\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"uuid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"nanoid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cuid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cuid2\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"ulid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"url\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"regex\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"duration\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"ip\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"jwt\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cidr\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"base64\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"base64url\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n datetime(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n offset: options?.offset ?? false,\n local: options?.local ?? false,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options?.position,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(1, errorUtil_js_1.errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch) => ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch) => ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch) => ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch) => ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch) => ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch) => ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch) => ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nexports.ZodString = ZodString;\nZodString.create = (params) => {\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.number,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n let ctx = undefined;\n const status = new parseUtil_js_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util_js_1.util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil_js_1.errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil_js_1.errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" || (ch.kind === \"multipleOf\" && util_js_1.util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null;\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" || ch.kind === \"int\" || ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nexports.ZodNumber = ZodNumber;\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new parseUtil_js_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil_js_1.errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nexports.ZodBigInt = ZodBigInt;\nZodBigInt.create = (params) => {\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodBoolean = ZodBoolean;\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.date,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (Number.isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_date,\n });\n return parseUtil_js_1.INVALID;\n }\n const status = new parseUtil_js_1.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nexports.ZodDate = ZodDate;\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: params?.coerce || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodSymbol = ZodSymbol;\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodUndefined = ZodUndefined;\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.null,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodNull = ZodNull;\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodAny = ZodAny;\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodUnknown = ZodUnknown;\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.never,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n}\nexports.ZodNever = ZodNever;\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.void,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodVoid = ZodVoid;\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== util_js_1.ZodParsedType.array) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: tooBig ? ZodError_js_1.ZodIssueCode.too_big : ZodError_js_1.ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return parseUtil_js_1.ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return parseUtil_js_1.ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodArray = ZodArray;\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util_js_1.util.objectKeys(shape);\n this._cached = { shape, keys };\n return this._cached;\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") {\n }\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil_js_1.errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: errorUtil_js_1.errorUtil.errToObj(message).message ?? defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n for (const key of util_js_1.util.objectKeys(mask)) {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util_js_1.util.objectKeys(this.shape));\n }\n}\nexports.ZodObject = ZodObject;\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError_js_1.ZodError(result.ctx.common.issues));\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError_js_1.ZodError(issues));\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_js_1.INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nexports.ZodUnion = ZodUnion;\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return util_js_1.util.objectValues(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else if (type instanceof ZodOptional) {\n return [undefined, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodNullable) {\n return [null, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n }\n else {\n return [];\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.object) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodDiscriminatedUnion = ZodDiscriminatedUnion;\nfunction mergeValues(a, b) {\n const aType = (0, util_js_1.getParsedType)(a);\n const bType = (0, util_js_1.getParsedType)(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === util_js_1.ZodParsedType.object && bType === util_js_1.ZodParsedType.object) {\n const bKeys = util_js_1.util.objectKeys(b);\n const sharedKeys = util_js_1.util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === util_js_1.ZodParsedType.array && bType === util_js_1.ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === util_js_1.ZodParsedType.date && bType === util_js_1.ZodParsedType.date && +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if ((0, parseUtil_js_1.isAborted)(parsedLeft) || (0, parseUtil_js_1.isAborted)(parsedRight)) {\n return parseUtil_js_1.INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_intersection_types,\n });\n return parseUtil_js_1.INVALID;\n }\n if ((0, parseUtil_js_1.isDirty)(parsedLeft) || (0, parseUtil_js_1.isDirty)(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nexports.ZodIntersection = ZodIntersection;\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\n// type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.array) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return parseUtil_js_1.INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return parseUtil_js_1.ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nexports.ZodTuple = ZodTuple;\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.object) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (ctx.common.async) {\n return parseUtil_js_1.ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nexports.ZodRecord = ZodRecord;\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.map) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.map,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return parseUtil_js_1.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return parseUtil_js_1.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nexports.ZodMap = ZodMap;\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.set) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.set,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodSet = ZodSet;\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.function) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.function,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n function makeArgsIssue(args, error) {\n return (0, parseUtil_js_1.makeIssue)({\n data: args,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, (0, errors_js_1.getErrorMap)(), errors_js_1.defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodError_js_1.ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return (0, parseUtil_js_1.makeIssue)({\n data: returns,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, (0, errors_js_1.getErrorMap)(), errors_js_1.defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodError_js_1.ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0, parseUtil_js_1.OK)(async function (...args) {\n const error = new ZodError_js_1.ZodError([]);\n const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0, parseUtil_js_1.OK)(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError_js_1.ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError_js_1.ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args ? args : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodFunction = ZodFunction;\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nexports.ZodLazy = ZodLazy;\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return parseUtil_js_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nexports.ZodLiteral = ZodLiteral;\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n expected: util_js_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_js_1.INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(this._def.values);\n }\n if (!this._cache.has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef,\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {\n ...this._def,\n ...newDef,\n });\n }\n}\nexports.ZodEnum = ZodEnum;\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util_js_1.util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.string && ctx.parsedType !== util_js_1.ZodParsedType.number) {\n const expectedValues = util_js_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n expected: util_js_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_js_1.INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(util_js_1.util.getValidEnumValues(this._def.values));\n }\n if (!this._cache.has(input.data)) {\n const expectedValues = util_js_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nexports.ZodNativeEnum = ZodNativeEnum;\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.promise && ctx.common.async === false) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const promisified = ctx.parsedType === util_js_1.ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);\n return (0, parseUtil_js_1.OK)(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nexports.ZodPromise = ZodPromise;\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n (0, parseUtil_js_1.addIssueToContext)(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed) => {\n if (status.value === \"aborted\")\n return parseUtil_js_1.INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (result.status === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n if (status.value === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return parseUtil_js_1.INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (result.status === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n if (status.value === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {\n if (inner.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!(0, parseUtil_js_1.isValid)(base))\n return parseUtil_js_1.INVALID;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {\n if (!(0, parseUtil_js_1.isValid)(base))\n return parseUtil_js_1.INVALID;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({\n status: status.value,\n value: result,\n }));\n });\n }\n }\n util_js_1.util.assertNever(effect);\n }\n}\nexports.ZodEffects = ZodEffects;\nexports.ZodTransformer = ZodEffects;\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_js_1.ZodParsedType.undefined) {\n return (0, parseUtil_js_1.OK)(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodOptional = ZodOptional;\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_js_1.ZodParsedType.null) {\n return (0, parseUtil_js_1.OK)(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodNullable = ZodNullable;\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === util_js_1.ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nexports.ZodDefault = ZodDefault;\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\" ? params.default : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if ((0, parseUtil_js_1.isAsync)(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError_js_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError_js_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nexports.ZodCatch = ZodCatch;\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nexports.ZodNaN = ZodNaN;\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nexports.BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nexports.ZodBranded = ZodBranded;\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return (0, parseUtil_js_1.DIRTY)(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nexports.ZodPipeline = ZodPipeline;\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if ((0, parseUtil_js_1.isValid)(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return (0, parseUtil_js_1.isAsync)(result) ? result.then((data) => freeze(data)) : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodReadonly = ZodReadonly;\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\n////////////////////////////////////////\n////////////////////////////////////////\n////////// //////////\n////////// z.custom //////////\n////////// //////////\n////////////////////////////////////////\n////////////////////////////////////////\nfunction cleanParams(params, data) {\n const p = typeof params === \"function\" ? params(data) : typeof params === \"string\" ? { message: params } : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n return p2;\n}\nfunction custom(check, _params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nexports.late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (exports.ZodFirstPartyTypeKind = ZodFirstPartyTypeKind = {}));\n// requires TS 4.4+\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nexports.instanceof = instanceOfType;\nconst stringType = ZodString.create;\nexports.string = stringType;\nconst numberType = ZodNumber.create;\nexports.number = numberType;\nconst nanType = ZodNaN.create;\nexports.nan = nanType;\nconst bigIntType = ZodBigInt.create;\nexports.bigint = bigIntType;\nconst booleanType = ZodBoolean.create;\nexports.boolean = booleanType;\nconst dateType = ZodDate.create;\nexports.date = dateType;\nconst symbolType = ZodSymbol.create;\nexports.symbol = symbolType;\nconst undefinedType = ZodUndefined.create;\nexports.undefined = undefinedType;\nconst nullType = ZodNull.create;\nexports.null = nullType;\nconst anyType = ZodAny.create;\nexports.any = anyType;\nconst unknownType = ZodUnknown.create;\nexports.unknown = unknownType;\nconst neverType = ZodNever.create;\nexports.never = neverType;\nconst voidType = ZodVoid.create;\nexports.void = voidType;\nconst arrayType = ZodArray.create;\nexports.array = arrayType;\nconst objectType = ZodObject.create;\nexports.object = objectType;\nconst strictObjectType = ZodObject.strictCreate;\nexports.strictObject = strictObjectType;\nconst unionType = ZodUnion.create;\nexports.union = unionType;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nexports.discriminatedUnion = discriminatedUnionType;\nconst intersectionType = ZodIntersection.create;\nexports.intersection = intersectionType;\nconst tupleType = ZodTuple.create;\nexports.tuple = tupleType;\nconst recordType = ZodRecord.create;\nexports.record = recordType;\nconst mapType = ZodMap.create;\nexports.map = mapType;\nconst setType = ZodSet.create;\nexports.set = setType;\nconst functionType = ZodFunction.create;\nexports.function = functionType;\nconst lazyType = ZodLazy.create;\nexports.lazy = lazyType;\nconst literalType = ZodLiteral.create;\nexports.literal = literalType;\nconst enumType = ZodEnum.create;\nexports.enum = enumType;\nconst nativeEnumType = ZodNativeEnum.create;\nexports.nativeEnum = nativeEnumType;\nconst promiseType = ZodPromise.create;\nexports.promise = promiseType;\nconst effectsType = ZodEffects.create;\nexports.effect = effectsType;\nexports.transformer = effectsType;\nconst optionalType = ZodOptional.create;\nexports.optional = optionalType;\nconst nullableType = ZodNullable.create;\nexports.nullable = nullableType;\nconst preprocessType = ZodEffects.createWithPreprocess;\nexports.preprocess = preprocessType;\nconst pipelineType = ZodPipeline.create;\nexports.pipeline = pipelineType;\nconst ostring = () => stringType().optional();\nexports.ostring = ostring;\nconst onumber = () => numberType().optional();\nexports.onumber = onumber;\nconst oboolean = () => booleanType().optional();\nexports.oboolean = oboolean;\nexports.coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nexports.NEVER = parseUtil_js_1.INVALID;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./errors.cjs\"), exports);\n__exportStar(require(\"./helpers/parseUtil.cjs\"), exports);\n__exportStar(require(\"./helpers/typeAliases.cjs\"), exports);\n__exportStar(require(\"./helpers/util.cjs\"), exports);\n__exportStar(require(\"./types.cjs\"), exports);\n__exportStar(require(\"./ZodError.cjs\"), exports);\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.z = void 0;\nconst z = __importStar(require(\"./v3/external.cjs\"));\nexports.z = z;\n__exportStar(require(\"./v3/external.cjs\"), exports);\nexports.default = z;\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing the types of actions.\n */\nexport enum ActionTypes {\n /**\n * Opens a URL in the default browser.\n */\n OpenUrl = 'openUrl',\n\n /**\n * Sends a message back to the bot as a simple string.\n */\n ImBack = 'imBack',\n\n /**\n * Sends a message back to the bot with additional data.\n */\n PostBack = 'postBack',\n\n /**\n * Plays an audio file.\n */\n PlayAudio = 'playAudio',\n\n /**\n * Plays a video file.\n */\n PlayVideo = 'playVideo',\n\n /**\n * Displays an image.\n */\n ShowImage = 'showImage',\n\n /**\n * Downloads a file.\n */\n DownloadFile = 'downloadFile',\n\n /**\n * Initiates a sign-in process.\n */\n Signin = 'signin',\n\n /**\n * Initiates a phone call.\n */\n Call = 'call',\n\n /**\n * Sends a message back to the bot with additional metadata.\n */\n MessageBack = 'messageBack',\n\n /**\n * Opens an application.\n */\n OpenApp = 'openApp',\n}\n\n/**\n * Zod schema for validating ActionTypes.\n */\nexport const actionTypesZodSchema = z.enum(['openUrl', 'imBack', 'postBack', 'playAudio', 'showImage', 'downloadFile', 'signin', 'call', 'messageBack', 'openApp'])\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing the state types of a semantic action.\n */\nexport enum SemanticActionStateTypes {\n /**\n * Indicates the start of a semantic action.\n */\n Start = 'start',\n\n /**\n * Indicates the continuation of a semantic action.\n */\n Continue = 'continue',\n\n /**\n * Indicates the completion of a semantic action.\n */\n Done = 'done',\n}\n\n/**\n * Zod schema for validating SemanticActionStateTypes.\n */\nexport const semanticActionStateTypesZodSchema = z.enum(['start', 'continue', 'done'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing the layout types for attachments.\n */\nexport enum AttachmentLayoutTypes {\n /**\n * Displays attachments in a list format.\n */\n List = 'list',\n\n /**\n * Displays attachments in a carousel format.\n */\n Carousel = 'carousel',\n}\n\n/**\n * Zod schema for validating attachment layout types.\n */\nexport const attachmentLayoutTypesZodSchema = z.enum(['list', 'carousel'])\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Enum representing the different channels an agent can communicate through.\n */\nexport enum Channels {\n /**\n * Represents the Alexa channel.\n */\n Alexa = 'alexa',\n\n /**\n * Represents the Console channel.\n */\n Console = 'console',\n\n /**\n * Represents the Directline channel.\n */\n Directline = 'directline',\n\n /**\n * Represents the Directline Speech channel.\n */\n DirectlineSpeech = 'directlinespeech',\n\n /**\n * Represents the Email channel.\n */\n Email = 'email',\n\n /**\n * Represents the Emulator channel.\n */\n Emulator = 'emulator',\n\n /**\n * Represents the Facebook channel.\n */\n Facebook = 'facebook',\n\n /**\n * Represents the GroupMe channel.\n */\n Groupme = 'groupme',\n\n /**\n * Represents the Line channel.\n */\n Line = 'line',\n\n /**\n * Represents the Microsoft Teams channel.\n */\n Msteams = 'msteams',\n\n /**\n * Represents the Omnichannel.\n */\n Omni = 'omnichannel',\n\n /**\n * Represents the Outlook channel.\n */\n Outlook = 'outlook',\n\n /**\n * Represents the Skype channel.\n */\n Skype = 'skype',\n\n /**\n * Represents the Slack channel.\n */\n Slack = 'slack',\n\n /**\n * Represents the SMS channel.\n */\n Sms = 'sms',\n\n /**\n * Represents the Telegram channel.\n */\n Telegram = 'telegram',\n\n /**\n * Represents the Telephony channel.\n */\n Telephony = 'telephony',\n\n /**\n * Represents the Test channel.\n */\n Test = 'test',\n\n /**\n * Represents the Webchat channel.\n */\n Webchat = 'webchat',\n}\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing the different end of conversation codes.\n */\nexport enum EndOfConversationCodes {\n /**\n * The end of conversation reason is unknown.\n */\n Unknown = 'unknown',\n\n /**\n * The conversation completed successfully.\n */\n CompletedSuccessfully = 'completedSuccessfully',\n\n /**\n * The user cancelled the conversation.\n */\n UserCancelled = 'userCancelled',\n\n /**\n * The agent timed out during the conversation.\n */\n AgentTimedOut = 'agentTimedOut',\n\n /**\n * The agent issued an invalid message.\n */\n AgentIssuedInvalidMessage = 'agentIssuedInvalidMessage',\n\n /**\n * The channel failed during the conversation.\n */\n ChannelFailed = 'channelFailed',\n}\n\n/**\n * Zod schema for validating end of conversation codes.\n */\nexport const endOfConversationCodesZodSchema = z.enum(['unknown', 'completedSuccessfully', 'userCancelled', 'agentTimedOut', 'agentIssuedInvalidMessage', 'channelFailed'])\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing the different role types in a conversation.\n */\nexport enum RoleTypes {\n /**\n * Represents a user in the conversation.\n */\n User = 'user',\n\n /**\n * Represents an agent or bot in the conversation.\n */\n Agent = 'bot',\n\n /**\n * Represents a skill in the conversation.\n */\n Skill = 'skill',\n}\n\n/**\n * Zod schema for validating role types.\n */\nexport const roleTypeZodSchema = z.enum(['user', 'bot', 'skill'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Activity } from '../activity'\nimport { Entity } from './entity'\n\n/**\n * Supported icon names for client citations. These icons are displayed in Teams to help users\n * identify the type of content being referenced in AI-generated responses.\n */\nexport type ClientCitationIconName =\n /** Microsoft Word document icon */\n | 'Microsoft Word'\n /** Microsoft Excel spreadsheet icon */\n | 'Microsoft Excel'\n /** Microsoft PowerPoint presentation icon */\n | 'Microsoft PowerPoint'\n /** Microsoft OneNote notebook icon */\n | 'Microsoft OneNote'\n /** Microsoft SharePoint site or document icon */\n | 'Microsoft SharePoint'\n /** Microsoft Visio diagram icon */\n | 'Microsoft Visio'\n /** Microsoft Loop component icon */\n | 'Microsoft Loop'\n /** Microsoft Whiteboard icon */\n | 'Microsoft Whiteboard'\n /** Adobe Illustrator vector graphics icon */\n | 'Adobe Illustrator'\n /** Adobe Photoshop image editing icon */\n | 'Adobe Photoshop'\n /** Adobe InDesign layout design icon */\n | 'Adobe InDesign'\n /** Adobe Flash multimedia icon */\n | 'Adobe Flash'\n /** Sketch design tool icon */\n | 'Sketch'\n /** Source code file icon */\n | 'Source Code'\n /** Generic image file icon */\n | 'Image'\n /** Animated GIF image icon */\n | 'GIF'\n /** Video file icon */\n | 'Video'\n /** Audio/sound file icon */\n | 'Sound'\n /** ZIP archive file icon */\n | 'ZIP'\n /** Plain text file icon */\n | 'Text'\n /** PDF document icon */\n | 'PDF'\n\n/**\n * Represents a Teams client citation to be included in a message.\n *\n * @remarks\n * [Learn more about Bot messages with AI-generated content](https://learn.microsoft.com/microsoftteams/platform/bots/how-to/bot-messages-ai-generated-content?tabs=before%2Cbotmessage)\n */\nexport interface ClientCitation {\n /**\n * Required; must be \"Claim\"\n */\n '@type': 'Claim';\n\n /**\n * Required. Number and position of the citation.\n */\n position: number;\n /**\n * Optional; if provided, the citation will be displayed in the message.\n */\n appearance: {\n /**\n * Required; Must be 'DigitalDocument'\n */\n '@type': 'DigitalDocument';\n\n /**\n * Name of the document. (max length 80)\n */\n name: string;\n\n /**\n * Stringified adaptive card with additional information about the citation.\n * It is rendered within the modal.\n */\n text?: string;\n\n /**\n * URL of the document. This will make the name of the citation clickable and direct the user to the specified URL.\n */\n url?: string;\n\n /**\n * Extract of the referenced content. (max length 160)\n */\n abstract: string;\n\n /**\n * Encoding format of the `citation.appearance.text` field.\n */\n encodingFormat?: 'application/vnd.microsoft.card.adaptive';\n\n /**\n * Information about the citation\u2019s icon.\n */\n image?: {\n '@type': 'ImageObject';\n\n /**\n * The image/icon name\n */\n name: ClientCitationIconName;\n };\n\n /**\n * Optional; set by developer. (max length 3) (max keyword length 28)\n */\n keywords?: string[];\n\n /**\n * Optional sensitivity content information.\n */\n usageInfo?: SensitivityUsageInfo;\n };\n}\n\n/**\n * Sensitivity usage info for content sent to the user.\n *\n * @remarks\n * This is used to provide information about the content to the user. See {@link ClientCitation} for more information.\n */\nexport interface SensitivityUsageInfo {\n /**\n * Must be \"https://schema.org/Message\"\n */\n type: 'https://schema.org/Message';\n\n /**\n * Required; Set to CreativeWork;\n */\n '@type': 'CreativeWork';\n\n /**\n * Sensitivity description of the content\n */\n description?: string;\n\n /**\n * Sensitivity title of the content\n */\n name: string;\n\n /**\n * Optional; ignored in Teams.\n */\n position?: number;\n\n /**\n * Optional; if provided, the content is considered sensitive and should be handled accordingly.\n */\n pattern?: {\n /**\n * Set to DefinedTerm\n */\n '@type': 'DefinedTerm';\n\n inDefinedTermSet: string;\n\n /**\n * Color\n */\n name: string;\n\n /**\n * e.g. #454545\n */\n termCode: string;\n };\n}\n\nexport interface AIEntity extends Entity {\n /**\n * Required as 'https://schema.org/Message'\n */\n type: 'https://schema.org/Message';\n\n /**\n * Required as 'Message\n */\n '@type': 'Message';\n\n /**\n * Required as 'https://schema.org\n */\n '@context': 'https://schema.org';\n\n /**\n * Must be left blank. This is for Bot Framework schema.\n */\n '@id': '';\n\n /**\n * Indicate that the content was generated by AI.\n */\n additionalType: ['AIGeneratedContent'];\n\n /**\n * Optional; if citations object is included, the sent activity will include the citations, referenced in the activity text.\n */\n citation?: ClientCitation[];\n\n /**\n * Optional; if usage_info object is included, the sent activity will include the sensitivity usage information.\n */\n usageInfo?: SensitivityUsageInfo;\n}\n\n/**\n * Adds an AI entity to an activity to indicate that the content was generated by AI.\n *\n * @param activity - The activity to which the AI entity will be added. The activity's entities array will be initialized if it doesn't exist.\n * @param citations - Optional array of client citations to include with the AI-generated content.\n * Citations provide references to sources used in generating the content and are displayed in Teams.\n * @param usageInfo - Optional sensitivity usage information that provides context about the content's sensitivity level.\n * This helps users understand any special handling requirements for the content.\n *\n * @remarks\n * This function enhances the activity with metadata that helps clients (like Microsoft Teams)\n * understand that the content is AI-generated and optionally includes citations and sensitivity information.\n *\n * @example\n * ```typescript\n * import { Activity } from '../activity';\n * import { addAIToActivity, ClientCitation } from './AIEntity';\n *\n * const activity: Activity = {\n * type: 'message',\n * text: 'Based on the documents, here are the key findings...'\n * };\n *\n * const citations: ClientCitation[] = [{\n * '@type': 'Claim',\n * position: 1,\n * appearance: {\n * '@type': 'DigitalDocument',\n * name: 'Research Report 2024',\n * abstract: 'Key findings from the annual research report',\n * url: 'https://example.com/report.pdf',\n * image: {\n * '@type': 'ImageObject',\n * name: 'PDF'\n * }\n * }\n * }];\n *\n * // Add AI entity with citations\n * addAIToActivity(activity, citations);\n * ```\n */\nexport const addAIToActivity = (\n activity: Activity,\n citations?: ClientCitation[],\n usageInfo?: SensitivityUsageInfo\n): void => {\n const aiEntity: AIEntity = {\n type: 'https://schema.org/Message',\n '@type': 'Message',\n '@context': 'https://schema.org',\n '@id': '',\n additionalType: ['AIGeneratedContent'],\n citation: citations,\n usageInfo\n }\n activity.entities ??= []\n activity.entities.push(aiEntity)\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Represents an adaptive card invoke action.\n */\nexport interface AdaptiveCardInvokeAction {\n /**\n * The type of the action.\n */\n type: string\n /**\n * The unique identifier of the action.\n */\n id?: string\n /**\n * The verb associated with the action.\n */\n verb: string\n /**\n * Additional data associated with the action.\n */\n data: Record<string, any>\n}\n\n/**\n * Zod schema for validating an adaptive card invoke action.\n */\nexport const adaptiveCardInvokeActionZodSchema = z.object({\n type: z.string().min(1),\n id: z.string().optional(),\n verb: z.string().min(1),\n data: z.record(z.string().min(1), z.any())\n})\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = 'ffffffff-ffff-ffff-ffff-ffffffffffff';\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = '00000000-0000-0000-0000-000000000000';\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst regex_js_1 = require(\"./regex.js\");\nfunction validate(uuid) {\n return typeof uuid === 'string' && regex_js_1.default.test(uuid);\n}\nexports.default = validate;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst validate_js_1 = require(\"./validate.js\");\nfunction parse(uuid) {\n if (!(0, validate_js_1.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n let v;\n return Uint8Array.of((v = parseInt(uuid.slice(0, 8), 16)) >>> 24, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff, (v = parseInt(uuid.slice(9, 13), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(14, 18), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(19, 23), 16)) >>> 8, v & 0xff, ((v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000) & 0xff, (v / 0x100000000) & 0xff, (v >>> 24) & 0xff, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff);\n}\nexports.default = parse;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unsafeStringify = void 0;\nconst validate_js_1 = require(\"./validate.js\");\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nfunction unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nexports.unsafeStringify = unsafeStringify;\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!(0, validate_js_1.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexports.default = stringify;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nfunction rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\nexports.default = rng;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateV1State = void 0;\nconst rng_js_1 = require(\"./rng.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nconst _state = {};\nfunction v1(options, buf, offset) {\n let bytes;\n const isV6 = options?._v6 ?? false;\n if (options) {\n const optionsKeys = Object.keys(options);\n if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') {\n options = undefined;\n }\n }\n if (options) {\n bytes = v1Bytes(options.random ?? options.rng?.() ?? (0, rng_js_1.default)(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset);\n }\n else {\n const now = Date.now();\n const rnds = (0, rng_js_1.default)();\n updateV1State(_state, now, rnds);\n bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);\n }\n return buf ?? (0, stringify_js_1.unsafeStringify)(bytes);\n}\nfunction updateV1State(state, now, rnds) {\n state.msecs ??= -Infinity;\n state.nsecs ??= 0;\n if (now === state.msecs) {\n state.nsecs++;\n if (state.nsecs >= 10000) {\n state.node = undefined;\n state.nsecs = 0;\n }\n }\n else if (now > state.msecs) {\n state.nsecs = 0;\n }\n else if (now < state.msecs) {\n state.node = undefined;\n }\n if (!state.node) {\n state.node = rnds.slice(10, 16);\n state.node[0] |= 0x01;\n state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n }\n state.msecs = now;\n return state;\n}\nexports.updateV1State = updateV1State;\nfunction v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) {\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n if (!buf) {\n buf = new Uint8Array(16);\n offset = 0;\n }\n else {\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n }\n msecs ??= Date.now();\n nsecs ??= 0;\n clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n node ??= rnds.slice(10, 16);\n msecs += 12219292800000;\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n buf[offset++] = (tl >>> 24) & 0xff;\n buf[offset++] = (tl >>> 16) & 0xff;\n buf[offset++] = (tl >>> 8) & 0xff;\n buf[offset++] = tl & 0xff;\n const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff;\n buf[offset++] = (tmh >>> 8) & 0xff;\n buf[offset++] = tmh & 0xff;\n buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10;\n buf[offset++] = (tmh >>> 16) & 0xff;\n buf[offset++] = (clockseq >>> 8) | 0x80;\n buf[offset++] = clockseq & 0xff;\n for (let n = 0; n < 6; ++n) {\n buf[offset++] = node[n];\n }\n return buf;\n}\nexports.default = v1;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst parse_js_1 = require(\"./parse.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction v1ToV6(uuid) {\n const v1Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid;\n const v6Bytes = _v1ToV6(v1Bytes);\n return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v6Bytes) : v6Bytes;\n}\nexports.default = v1ToV6;\nfunction _v1ToV6(v1Bytes) {\n return Uint8Array.of(((v1Bytes[6] & 0x0f) << 4) | ((v1Bytes[7] >> 4) & 0x0f), ((v1Bytes[7] & 0x0f) << 4) | ((v1Bytes[4] & 0xf0) >> 4), ((v1Bytes[4] & 0x0f) << 4) | ((v1Bytes[5] & 0xf0) >> 4), ((v1Bytes[5] & 0x0f) << 4) | ((v1Bytes[0] & 0xf0) >> 4), ((v1Bytes[0] & 0x0f) << 4) | ((v1Bytes[1] & 0xf0) >> 4), ((v1Bytes[1] & 0x0f) << 4) | ((v1Bytes[2] & 0xf0) >> 4), 0x60 | (v1Bytes[2] & 0x0f), v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]);\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction md5(bytes) {\n const words = uint8ToUint32(bytes);\n const md5Bytes = wordsToMd5(words, bytes.length * 8);\n return uint32ToUint8(md5Bytes);\n}\nfunction uint32ToUint8(input) {\n const bytes = new Uint8Array(input.length * 4);\n for (let i = 0; i < input.length * 4; i++) {\n bytes[i] = (input[i >> 2] >>> ((i % 4) * 8)) & 0xff;\n }\n return bytes;\n}\nfunction getOutputLength(inputLength8) {\n return (((inputLength8 + 64) >>> 9) << 4) + 14 + 1;\n}\nfunction wordsToMd5(x, len) {\n const xpad = new Uint32Array(getOutputLength(len)).fill(0);\n xpad.set(x);\n xpad[len >> 5] |= 0x80 << len % 32;\n xpad[xpad.length - 1] = len;\n x = xpad;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n return Uint32Array.of(a, b, c, d);\n}\nfunction uint8ToUint32(input) {\n if (input.length === 0) {\n return new Uint32Array();\n }\n const output = new Uint32Array(getOutputLength(input.length * 8)).fill(0);\n for (let i = 0; i < input.length; i++) {\n output[i >> 2] |= (input[i] & 0xff) << ((i % 4) * 8);\n }\n return output;\n}\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xffff);\n}\nfunction bitRotateLeft(num, cnt) {\n return (num << cnt) | (num >>> (32 - cnt));\n}\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn((b & c) | (~b & d), a, b, x, s, t);\n}\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\nexports.default = md5;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = exports.stringToBytes = void 0;\nconst parse_js_1 = require(\"./parse.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str));\n const bytes = new Uint8Array(str.length);\n for (let i = 0; i < str.length; ++i) {\n bytes[i] = str.charCodeAt(i);\n }\n return bytes;\n}\nexports.stringToBytes = stringToBytes;\nexports.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nfunction v35(version, hash, value, namespace, buf, offset) {\n const valueBytes = typeof value === 'string' ? stringToBytes(value) : value;\n const namespaceBytes = typeof namespace === 'string' ? (0, parse_js_1.default)(namespace) : namespace;\n if (typeof namespace === 'string') {\n namespace = (0, parse_js_1.default)(namespace);\n }\n if (namespace?.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n }\n let bytes = new Uint8Array(16 + valueBytes.length);\n bytes.set(namespaceBytes);\n bytes.set(valueBytes, namespaceBytes.length);\n bytes = hash(bytes);\n bytes[6] = (bytes[6] & 0x0f) | version;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n return buf;\n }\n return (0, stringify_js_1.unsafeStringify)(bytes);\n}\nexports.default = v35;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = void 0;\nconst md5_js_1 = require(\"./md5.js\");\nconst v35_js_1 = require(\"./v35.js\");\nvar v35_js_2 = require(\"./v35.js\");\nObject.defineProperty(exports, \"DNS\", { enumerable: true, get: function () { return v35_js_2.DNS; } });\nObject.defineProperty(exports, \"URL\", { enumerable: true, get: function () { return v35_js_2.URL; } });\nfunction v3(value, namespace, buf, offset) {\n return (0, v35_js_1.default)(0x30, md5_js_1.default, value, namespace, buf, offset);\n}\nv3.DNS = v35_js_1.DNS;\nv3.URL = v35_js_1.URL;\nexports.default = v3;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexports.default = { randomUUID };\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst native_js_1 = require(\"./native.js\");\nconst rng_js_1 = require(\"./rng.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction v4(options, buf, offset) {\n if (native_js_1.default.randomUUID && !buf && !options) {\n return native_js_1.default.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? (0, rng_js_1.default)();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return (0, stringify_js_1.unsafeStringify)(rnds);\n}\nexports.default = v4;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return (x & y) ^ (~x & z);\n case 1:\n return x ^ y ^ z;\n case 2:\n return (x & y) ^ (x & z) ^ (y & z);\n case 3:\n return x ^ y ^ z;\n }\n}\nfunction ROTL(x, n) {\n return (x << n) | (x >>> (32 - n));\n}\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n const newBytes = new Uint8Array(bytes.length + 1);\n newBytes.set(bytes);\n newBytes[bytes.length] = 0x80;\n bytes = newBytes;\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n for (let j = 0; j < 16; ++j) {\n arr[j] =\n (bytes[i * 64 + j * 4] << 24) |\n (bytes[i * 64 + j * 4 + 1] << 16) |\n (bytes[i * 64 + j * 4 + 2] << 8) |\n bytes[i * 64 + j * 4 + 3];\n }\n M[i] = arr;\n }\n M[N - 1][14] = ((bytes.length - 1) * 8) / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = ((bytes.length - 1) * 8) & 0xffffffff;\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = (ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t]) >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n H[0] = (H[0] + a) >>> 0;\n H[1] = (H[1] + b) >>> 0;\n H[2] = (H[2] + c) >>> 0;\n H[3] = (H[3] + d) >>> 0;\n H[4] = (H[4] + e) >>> 0;\n }\n return Uint8Array.of(H[0] >> 24, H[0] >> 16, H[0] >> 8, H[0], H[1] >> 24, H[1] >> 16, H[1] >> 8, H[1], H[2] >> 24, H[2] >> 16, H[2] >> 8, H[2], H[3] >> 24, H[3] >> 16, H[3] >> 8, H[3], H[4] >> 24, H[4] >> 16, H[4] >> 8, H[4]);\n}\nexports.default = sha1;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URL = exports.DNS = void 0;\nconst sha1_js_1 = require(\"./sha1.js\");\nconst v35_js_1 = require(\"./v35.js\");\nvar v35_js_2 = require(\"./v35.js\");\nObject.defineProperty(exports, \"DNS\", { enumerable: true, get: function () { return v35_js_2.DNS; } });\nObject.defineProperty(exports, \"URL\", { enumerable: true, get: function () { return v35_js_2.URL; } });\nfunction v5(value, namespace, buf, offset) {\n return (0, v35_js_1.default)(0x50, sha1_js_1.default, value, namespace, buf, offset);\n}\nv5.DNS = v35_js_1.DNS;\nv5.URL = v35_js_1.URL;\nexports.default = v5;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst stringify_js_1 = require(\"./stringify.js\");\nconst v1_js_1 = require(\"./v1.js\");\nconst v1ToV6_js_1 = require(\"./v1ToV6.js\");\nfunction v6(options, buf, offset) {\n options ??= {};\n offset ??= 0;\n let bytes = (0, v1_js_1.default)({ ...options, _v6: true }, new Uint8Array(16));\n bytes = (0, v1ToV6_js_1.default)(bytes);\n if (buf) {\n for (let i = 0; i < 16; i++) {\n buf[offset + i] = bytes[i];\n }\n return buf;\n }\n return (0, stringify_js_1.unsafeStringify)(bytes);\n}\nexports.default = v6;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst parse_js_1 = require(\"./parse.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nfunction v6ToV1(uuid) {\n const v6Bytes = typeof uuid === 'string' ? (0, parse_js_1.default)(uuid) : uuid;\n const v1Bytes = _v6ToV1(v6Bytes);\n return typeof uuid === 'string' ? (0, stringify_js_1.unsafeStringify)(v1Bytes) : v1Bytes;\n}\nexports.default = v6ToV1;\nfunction _v6ToV1(v6Bytes) {\n return Uint8Array.of(((v6Bytes[3] & 0x0f) << 4) | ((v6Bytes[4] >> 4) & 0x0f), ((v6Bytes[4] & 0x0f) << 4) | ((v6Bytes[5] & 0xf0) >> 4), ((v6Bytes[5] & 0x0f) << 4) | (v6Bytes[6] & 0x0f), v6Bytes[7], ((v6Bytes[1] & 0x0f) << 4) | ((v6Bytes[2] & 0xf0) >> 4), ((v6Bytes[2] & 0x0f) << 4) | ((v6Bytes[3] & 0xf0) >> 4), 0x10 | ((v6Bytes[0] & 0xf0) >> 4), ((v6Bytes[0] & 0x0f) << 4) | ((v6Bytes[1] & 0xf0) >> 4), v6Bytes[8], v6Bytes[9], v6Bytes[10], v6Bytes[11], v6Bytes[12], v6Bytes[13], v6Bytes[14], v6Bytes[15]);\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateV7State = void 0;\nconst rng_js_1 = require(\"./rng.js\");\nconst stringify_js_1 = require(\"./stringify.js\");\nconst _state = {};\nfunction v7(options, buf, offset) {\n let bytes;\n if (options) {\n bytes = v7Bytes(options.random ?? options.rng?.() ?? (0, rng_js_1.default)(), options.msecs, options.seq, buf, offset);\n }\n else {\n const now = Date.now();\n const rnds = (0, rng_js_1.default)();\n updateV7State(_state, now, rnds);\n bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset);\n }\n return buf ?? (0, stringify_js_1.unsafeStringify)(bytes);\n}\nfunction updateV7State(state, now, rnds) {\n state.msecs ??= -Infinity;\n state.seq ??= 0;\n if (now > state.msecs) {\n state.seq = (rnds[6] << 23) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9];\n state.msecs = now;\n }\n else {\n state.seq = (state.seq + 1) | 0;\n if (state.seq === 0) {\n state.msecs++;\n }\n }\n return state;\n}\nexports.updateV7State = updateV7State;\nfunction v7Bytes(rnds, msecs, seq, buf, offset = 0) {\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n if (!buf) {\n buf = new Uint8Array(16);\n offset = 0;\n }\n else {\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n }\n msecs ??= Date.now();\n seq ??= ((rnds[6] * 0x7f) << 24) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9];\n buf[offset++] = (msecs / 0x10000000000) & 0xff;\n buf[offset++] = (msecs / 0x100000000) & 0xff;\n buf[offset++] = (msecs / 0x1000000) & 0xff;\n buf[offset++] = (msecs / 0x10000) & 0xff;\n buf[offset++] = (msecs / 0x100) & 0xff;\n buf[offset++] = msecs & 0xff;\n buf[offset++] = 0x70 | ((seq >>> 28) & 0x0f);\n buf[offset++] = (seq >>> 20) & 0xff;\n buf[offset++] = 0x80 | ((seq >>> 14) & 0x3f);\n buf[offset++] = (seq >>> 6) & 0xff;\n buf[offset++] = ((seq << 2) & 0xff) | (rnds[10] & 0x03);\n buf[offset++] = rnds[11];\n buf[offset++] = rnds[12];\n buf[offset++] = rnds[13];\n buf[offset++] = rnds[14];\n buf[offset++] = rnds[15];\n return buf;\n}\nexports.default = v7;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst validate_js_1 = require(\"./validate.js\");\nfunction version(uuid) {\n if (!(0, validate_js_1.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n return parseInt(uuid.slice(14, 15), 16);\n}\nexports.default = version;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.version = exports.validate = exports.v7 = exports.v6ToV1 = exports.v6 = exports.v5 = exports.v4 = exports.v3 = exports.v1ToV6 = exports.v1 = exports.stringify = exports.parse = exports.NIL = exports.MAX = void 0;\nvar max_js_1 = require(\"./max.js\");\nObject.defineProperty(exports, \"MAX\", { enumerable: true, get: function () { return max_js_1.default; } });\nvar nil_js_1 = require(\"./nil.js\");\nObject.defineProperty(exports, \"NIL\", { enumerable: true, get: function () { return nil_js_1.default; } });\nvar parse_js_1 = require(\"./parse.js\");\nObject.defineProperty(exports, \"parse\", { enumerable: true, get: function () { return parse_js_1.default; } });\nvar stringify_js_1 = require(\"./stringify.js\");\nObject.defineProperty(exports, \"stringify\", { enumerable: true, get: function () { return stringify_js_1.default; } });\nvar v1_js_1 = require(\"./v1.js\");\nObject.defineProperty(exports, \"v1\", { enumerable: true, get: function () { return v1_js_1.default; } });\nvar v1ToV6_js_1 = require(\"./v1ToV6.js\");\nObject.defineProperty(exports, \"v1ToV6\", { enumerable: true, get: function () { return v1ToV6_js_1.default; } });\nvar v3_js_1 = require(\"./v3.js\");\nObject.defineProperty(exports, \"v3\", { enumerable: true, get: function () { return v3_js_1.default; } });\nvar v4_js_1 = require(\"./v4.js\");\nObject.defineProperty(exports, \"v4\", { enumerable: true, get: function () { return v4_js_1.default; } });\nvar v5_js_1 = require(\"./v5.js\");\nObject.defineProperty(exports, \"v5\", { enumerable: true, get: function () { return v5_js_1.default; } });\nvar v6_js_1 = require(\"./v6.js\");\nObject.defineProperty(exports, \"v6\", { enumerable: true, get: function () { return v6_js_1.default; } });\nvar v6ToV1_js_1 = require(\"./v6ToV1.js\");\nObject.defineProperty(exports, \"v6ToV1\", { enumerable: true, get: function () { return v6ToV1_js_1.default; } });\nvar v7_js_1 = require(\"./v7.js\");\nObject.defineProperty(exports, \"v7\", { enumerable: true, get: function () { return v7_js_1.default; } });\nvar validate_js_1 = require(\"./validate.js\");\nObject.defineProperty(exports, \"validate\", { enumerable: true, get: function () { return validate_js_1.default; } });\nvar version_js_1 = require(\"./version.js\");\nObject.defineProperty(exports, \"version\", { enumerable: true, get: function () { return version_js_1.default; } });\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Represents a generic Entity.\n */\nexport interface Entity {\n /**\n * The type of the entity.\n */\n type: string\n /**\n * Additional properties of the entity.\n */\n [key: string]: unknown\n}\n\n/**\n * Zod schema for validating Entity objects.\n */\nexport const entityZodSchema = z.object({\n type: z.string().min(1)\n}).passthrough()\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { Entity, entityZodSchema } from '../entity/entity'\nimport { SemanticActionStateTypes, semanticActionStateTypesZodSchema } from './semanticActionStateTypes'\n\n/**\n * Represents a semantic action.\n */\nexport interface SemanticAction {\n /**\n * Unique identifier for the semantic action.\n */\n id: string\n /**\n * State of the semantic action.\n */\n state: SemanticActionStateTypes | string\n /**\n * Entities associated with the semantic action.\n */\n entities: { [propertyName: string]: Entity }\n}\n\n/**\n * Zod schema for validating SemanticAction.\n */\nexport const semanticActionZodSchema = z.object({\n id: z.string().min(1),\n state: z.union([semanticActionStateTypesZodSchema, z.string().min(1)]),\n entities: z.record(entityZodSchema)\n})\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { ActionTypes, actionTypesZodSchema } from './actionTypes'\n\n/**\n * Represents a card action.\n */\nexport interface CardAction {\n /**\n * Type of the action.\n */\n type: ActionTypes | string\n /**\n * Title of the action.\n */\n title: string\n /**\n * URL of the image associated with the action.\n */\n image?: string\n /**\n * Text associated with the action.\n */\n text?: string\n /**\n * Display text for the action.\n */\n displayText?: string\n /**\n * Value associated with the action.\n */\n value?: any\n /**\n * Channel-specific data associated with the action.\n */\n channelData?: unknown\n /**\n * Alt text for the image.\n */\n imageAltText?: string\n}\n\n/**\n * Zod schema for validating CardAction.\n */\nexport const cardActionZodSchema = z.object({\n type: z.union([actionTypesZodSchema, z.string().min(1)]),\n title: z.string().min(1),\n image: z.string().min(1).optional(),\n text: z.string().min(1).optional(),\n displayText: z.string().min(1).optional(),\n value: z.any().optional(),\n channelData: z.unknown().optional(),\n imageAltText: z.string().min(1).optional()\n})\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { CardAction, cardActionZodSchema } from './cardAction'\n\n/**\n * Represents suggested actions.\n */\nexport interface SuggestedActions {\n /**\n * Array of recipient IDs.\n */\n to: string[]\n /**\n * Array of card actions.\n */\n actions: CardAction[]\n}\n\n/**\n * Zod schema for validating SuggestedActions.\n */\nexport const suggestedActionsZodSchema = z.object({\n to: z.array(z.string().min(1)),\n actions: z.array(cardActionZodSchema)\n})\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing activity event names.\n */\nexport enum ActivityEventNames {\n /**\n * Event name for continuing a conversation.\n */\n ContinueConversation = 'ContinueConversation',\n\n /**\n * Event name for creating a new conversation.\n */\n CreateConversation = 'CreateConversation',\n}\n\n/**\n * Zod schema for validating an ActivityEventNames enum.\n */\nexport const activityEventNamesZodSchema = z.enum(['ContinueConversation', 'CreateConversation'])\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing activity importance levels.\n */\nexport enum ActivityImportance {\n /**\n * Indicates low importance.\n */\n Low = 'low',\n\n /**\n * Indicates normal importance.\n */\n Normal = 'normal',\n\n /**\n * Indicates high importance.\n */\n High = 'high',\n}\n\n/**\n * Zod schema for validating an ActivityImportance enum.\n */\nexport const activityImportanceZodSchema = z.enum(['low', 'normal', 'high'])\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing activity types.\n */\nexport enum ActivityTypes {\n /**\n * A message activity.\n */\n Message = 'message',\n\n /**\n * An update to a contact relationship.\n */\n ContactRelationUpdate = 'contactRelationUpdate',\n\n /**\n * An update to a conversation.\n */\n ConversationUpdate = 'conversationUpdate',\n\n /**\n * A typing indicator activity.\n */\n Typing = 'typing',\n\n /**\n * Indicates the end of a conversation.\n */\n EndOfConversation = 'endOfConversation',\n\n /**\n * An event activity.\n */\n Event = 'event',\n\n /**\n * An invoke activity.\n */\n Invoke = 'invoke',\n\n /**\n * A response to an invoke activity.\n */\n InvokeResponse = 'invokeResponse',\n\n /**\n * An activity to delete user data.\n */\n DeleteUserData = 'deleteUserData',\n\n /**\n * An update to a message.\n */\n MessageUpdate = 'messageUpdate',\n\n /**\n * A deletion of a message.\n */\n MessageDelete = 'messageDelete',\n\n /**\n * An update to an installation.\n */\n InstallationUpdate = 'installationUpdate',\n\n /**\n * A reaction to a message.\n */\n MessageReaction = 'messageReaction',\n\n /**\n * A suggestion activity.\n */\n Suggestion = 'suggestion',\n\n /**\n * A trace activity for debugging.\n */\n Trace = 'trace',\n\n /**\n * A handoff activity to another bot or human.\n */\n Handoff = 'handoff',\n\n /**\n * A command activity.\n */\n Command = 'command',\n\n /**\n * A result of a command activity.\n */\n CommandResult = 'commandResult',\n\n /**\n * A delay activity.\n */\n Delay = 'delay'\n}\n\n/**\n * Zod schema for validating an ActivityTypes enum.\n */\nexport const activityTypesZodSchema = z.enum([\n 'message',\n 'contactRelationUpdate',\n 'conversationUpdate',\n 'typing',\n 'endOfConversation',\n 'event',\n 'invoke',\n 'invokeResponse',\n 'deleteUserData',\n 'messageUpdate',\n 'messageDelete',\n 'installationUpdate',\n 'messageReaction',\n 'suggestion',\n 'trace',\n 'handoff',\n 'command',\n 'commandResult',\n 'delay'\n])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Represents an attachment.\n */\nexport interface Attachment {\n /**\n * The MIME type of the attachment content.\n */\n contentType: string\n\n /**\n * The URL of the attachment content.\n */\n contentUrl?: string\n\n /**\n * The content of the attachment.\n */\n content?: unknown\n\n /**\n * The name of the attachment.\n */\n name?: string\n\n /**\n * The URL of the thumbnail for the attachment.\n */\n thumbnailUrl?: string\n}\n\n/**\n * Zod schema for validating attachments.\n */\nexport const attachmentZodSchema = z.object({\n contentType: z.string().min(1),\n contentUrl: z.string().min(1).optional(),\n content: z.unknown().optional(),\n name: z.string().min(1).optional(),\n thumbnailUrl: z.string().min(1).optional()\n})\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { roleTypeZodSchema, RoleTypes } from './roleTypes'\n\n/**\n * Represents a channel account.\n */\nexport interface ChannelAccount {\n /**\n * The unique identifier of the channel account.\n */\n id?: string\n\n /**\n * The name of the channel account.\n */\n name?: string\n\n /**\n * The Azure Active Directory object ID of the channel account.\n */\n aadObjectId?: string\n\n /**\n * The role of the channel account.\n */\n role?: RoleTypes | string\n\n /**\n * Additional properties of the channel account.\n */\n properties?: unknown\n}\n\n/**\n * Zod schema for validating a channel account.\n */\nexport const channelAccountZodSchema = z.object({\n id: z.string().min(1).optional(),\n name: z.string().optional(),\n aadObjectId: z.string().min(1).optional(),\n role: z.union([roleTypeZodSchema, z.string().min(1)]).optional(),\n properties: z.unknown().optional()\n})\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { roleTypeZodSchema, RoleTypes } from './roleTypes'\n\n/**\n * Represents a conversation account.\n */\nexport interface ConversationAccount {\n /**\n * The unique identifier of the conversation account.\n */\n id: string\n\n /**\n * The type of the conversation (e.g., personal, group, etc.).\n */\n conversationType?: string\n\n /**\n * The tenant ID associated with the conversation account.\n */\n tenantId?: string\n\n /**\n * Indicates whether the conversation is a group.\n */\n isGroup?: boolean\n\n /**\n * The name of the conversation account.\n */\n name?: string\n\n /**\n * The Azure Active Directory object ID of the conversation account.\n */\n aadObjectId?: string\n\n /**\n * The role of the conversation account.\n */\n role?: RoleTypes | string\n\n /**\n * Additional properties of the conversation account.\n */\n properties?: unknown\n}\n\n/**\n * Zod schema for validating a conversation account.\n */\nexport const conversationAccountZodSchema = z.object({\n isGroup: z.boolean().optional(),\n conversationType: z.string().min(1).optional(),\n tenantId: z.string().min(1).optional(),\n id: z.string().min(1),\n name: z.string().min(1).optional(),\n aadObjectId: z.string().min(1).optional(),\n role: z.union([roleTypeZodSchema, z.string().min(1)]).optional(),\n properties: z.unknown().optional()\n})\n", "/**\n * Copyright(c) Microsoft Corporation.All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { ChannelAccount, channelAccountZodSchema } from './channelAccount'\nimport { ConversationAccount, conversationAccountZodSchema } from './conversationAccount'\n\n/**\n * Represents a reference to a conversation.\n */\nexport interface ConversationReference {\n /**\n * The ID of the activity. Optional.\n */\n activityId?: string\n\n /**\n * The user involved in the conversation. Optional.\n */\n user?: ChannelAccount\n\n /**\n * The locale of the conversation. Optional.\n */\n locale?: string\n\n /**\n * The agent involved in the conversation. Can be undefined or null. Optional.\n */\n agent?: ChannelAccount | undefined | null\n\n /**\n * The conversation account details.\n */\n conversation: ConversationAccount\n\n /**\n * The ID of the channel where the conversation is taking place.\n */\n channelId: string\n\n /**\n * The service URL for the conversation. Optional.\n */\n serviceUrl?: string | undefined\n}\n\n/**\n * Zod schema for validating a conversation reference.\n */\nexport const conversationReferenceZodSchema = z.object({\n activityId: z.string().min(1).optional(),\n user: channelAccountZodSchema.optional(),\n locale: z.string().min(1).optional(),\n agent: channelAccountZodSchema.optional().nullable(),\n conversation: conversationAccountZodSchema,\n channelId: z.string().min(1),\n serviceUrl: z.string().min(1).optional()\n})\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing delivery modes.\n */\nexport enum DeliveryModes {\n /**\n * Represents the normal delivery mode.\n */\n Normal = 'normal',\n\n /**\n * Represents a notification delivery mode.\n */\n Notification = 'notification',\n\n /**\n * Represents a delivery mode where replies are expected.\n */\n ExpectReplies = 'expectReplies',\n\n /**\n * Represents an ephemeral delivery mode.\n */\n Ephemeral = 'ephemeral',\n}\n\n/**\n * Zod schema for validating a DeliveryModes enum.\n */\nexport const deliveryModesZodSchema = z.enum(['normal', 'notification', 'expectReplies', 'ephemeral'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing input hints.\n */\nexport enum InputHints {\n /**\n * Indicates that the bot is ready to accept input from the user.\n */\n AcceptingInput = 'acceptingInput',\n\n /**\n * Indicates that the bot is ignoring input from the user.\n */\n IgnoringInput = 'ignoringInput',\n\n /**\n * Indicates that the bot is expecting input from the user.\n */\n ExpectingInput = 'expectingInput',\n}\n\n/**\n * Zod schema for validating an InputHints enum.\n */\nexport const inputHintsZodSchema = z.enum(['acceptingInput', 'ignoringInput', 'expectingInput'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing message reaction types.\n */\nexport enum MessageReactionTypes {\n /**\n * Represents a 'like' reaction to a message.\n */\n Like = 'like',\n\n /**\n * Represents a '+1' reaction to a message.\n */\n PlusOne = 'plusOne',\n}\n\n/**\n * Zod schema for validating MessageReactionTypes enum values.\n */\nexport const messageReactionTypesZodSchema = z.enum(['like', 'plusOne'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\nimport { MessageReactionTypes, messageReactionTypesZodSchema } from './messageReactionTypes'\n\n/**\n * Represents a message reaction.\n */\nexport interface MessageReaction {\n /**\n * The type of the reaction.\n */\n type: MessageReactionTypes | string\n}\n\n/**\n * Zod schema for validating a MessageReaction object.\n */\nexport const messageReactionZodSchema = z.object({\n type: z.union([messageReactionTypesZodSchema, z.string().min(1)])\n})\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing text format types.\n */\nexport enum TextFormatTypes {\n /**\n * Represents text formatted using Markdown.\n */\n Markdown = 'markdown',\n\n /**\n * Represents plain text without any formatting.\n */\n Plain = 'plain',\n\n /**\n * Represents text formatted using XML.\n */\n Xml = 'xml',\n}\n\n/**\n * Zod schema for validating TextFormatTypes enum values.\n */\nexport const textFormatTypesZodSchema = z.enum(['markdown', 'plain', 'xml'])\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Represents a text highlight.\n */\nexport interface TextHighlight {\n /**\n * The highlighted text.\n */\n text: string\n /**\n * The occurrence count of the highlighted text.\n */\n occurrence: number\n}\n\n/**\n * Zod schema for validating TextHighlight objects.\n */\nexport const textHighlightZodSchema = z.object({\n text: z.string().min(1),\n occurrence: z.number()\n})\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { v4 as uuid } from 'uuid'\nimport { z } from 'zod'\nimport { SemanticAction, semanticActionZodSchema } from './action/semanticAction'\nimport { SuggestedActions, suggestedActionsZodSchema } from './action/suggestedActions'\nimport { ActivityEventNames, activityEventNamesZodSchema } from './activityEventNames'\nimport { ActivityImportance, activityImportanceZodSchema } from './activityImportance'\nimport { ActivityTypes, activityTypesZodSchema } from './activityTypes'\nimport { Attachment, attachmentZodSchema } from './attachment/attachment'\nimport { AttachmentLayoutTypes, attachmentLayoutTypesZodSchema } from './attachment/attachmentLayoutTypes'\nimport { ChannelAccount, channelAccountZodSchema } from './conversation/channelAccount'\nimport { Channels } from './conversation/channels'\nimport { ConversationAccount, conversationAccountZodSchema } from './conversation/conversationAccount'\nimport { ConversationReference, conversationReferenceZodSchema } from './conversation/conversationReference'\nimport { EndOfConversationCodes, endOfConversationCodesZodSchema } from './conversation/endOfConversationCodes'\nimport { DeliveryModes, deliveryModesZodSchema } from './deliveryModes'\nimport { Entity, entityZodSchema } from './entity/entity'\nimport { Mention } from './entity/mention'\nimport { InputHints, inputHintsZodSchema } from './inputHints'\nimport { MessageReaction, messageReactionZodSchema } from './messageReaction'\nimport { TextFormatTypes, textFormatTypesZodSchema } from './textFormatTypes'\nimport { TextHighlight, textHighlightZodSchema } from './textHighlight'\n\n/**\n * Zod schema for validating an Activity object.\n */\nexport const activityZodSchema = z.object({\n type: z.union([activityTypesZodSchema, z.string().min(1)]),\n text: z.string().optional(),\n id: z.string().min(1).optional(),\n channelId: z.string().min(1).optional(),\n from: channelAccountZodSchema.optional(),\n timestamp: z.union([z.date(), z.string().min(1).datetime().optional(), z.string().min(1).transform(s => new Date(s)).optional()]),\n localTimestamp: z.string().min(1).transform(s => new Date(s)).optional().or(z.date()).optional(), // z.string().min(1).transform(s => new Date(s)).optional(),\n localTimezone: z.string().min(1).optional(),\n callerId: z.string().min(1).optional(),\n serviceUrl: z.string().min(1).optional(),\n conversation: conversationAccountZodSchema.optional(),\n recipient: channelAccountZodSchema.optional(),\n textFormat: z.union([textFormatTypesZodSchema, z.string().min(1)]).optional(),\n attachmentLayout: z.union([attachmentLayoutTypesZodSchema, z.string().min(1)]).optional(),\n membersAdded: z.array(channelAccountZodSchema).optional(),\n membersRemoved: z.array(channelAccountZodSchema).optional(),\n reactionsAdded: z.array(messageReactionZodSchema).optional(),\n reactionsRemoved: z.array(messageReactionZodSchema).optional(),\n topicName: z.string().min(1).optional(),\n historyDisclosed: z.boolean().optional(),\n locale: z.string().min(1).optional(),\n speak: z.string().min(1).optional(),\n inputHint: z.union([inputHintsZodSchema, z.string().min(1)]).optional(),\n summary: z.string().min(1).optional(),\n suggestedActions: suggestedActionsZodSchema.optional(),\n attachments: z.array(attachmentZodSchema).optional(),\n entities: z.array(entityZodSchema.passthrough()).optional(),\n channelData: z.any().optional(),\n action: z.string().min(1).optional(),\n replyToId: z.string().min(1).optional(),\n label: z.string().min(1).optional(),\n valueType: z.string().min(1).optional(),\n value: z.unknown().optional(),\n name: z.union([activityEventNamesZodSchema, z.string().min(1)]).optional(),\n relatesTo: conversationReferenceZodSchema.optional(),\n code: z.union([endOfConversationCodesZodSchema, z.string().min(1)]).optional(),\n expiration: z.string().min(1).datetime().optional(),\n importance: z.union([activityImportanceZodSchema, z.string().min(1)]).optional(),\n deliveryMode: z.union([deliveryModesZodSchema, z.string().min(1)]).optional(),\n listenFor: z.array(z.string().min(1)).optional(),\n textHighlights: z.array(textHighlightZodSchema).optional(),\n semanticAction: semanticActionZodSchema.optional()\n})\n\n/**\n * Represents an activity in a conversation.\n */\nexport class Activity {\n /**\n * The type of the activity.\n */\n type: ActivityTypes | string\n\n /**\n * The text content of the activity.\n */\n text?: string\n\n /**\n * The unique identifier of the activity.\n */\n id?: string\n\n /**\n * The channel ID where the activity originated.\n */\n channelId?: string\n\n /**\n * The account of the sender of the activity.\n */\n from?: ChannelAccount\n\n /**\n * The timestamp of the activity.\n */\n timestamp?: Date | string\n\n /**\n * The local timestamp of the activity.\n */\n localTimestamp?: Date | string\n\n /**\n * The local timezone of the activity.\n */\n localTimezone?: string\n\n /**\n * The caller ID of the activity.\n */\n callerId?: string\n\n /**\n * The service URL of the activity.\n */\n serviceUrl?: string\n\n /**\n * The conversation account associated with the activity.\n */\n conversation?: ConversationAccount\n\n /**\n * The recipient of the activity.\n */\n recipient?: ChannelAccount\n\n /**\n * The text format of the activity.\n */\n textFormat?: TextFormatTypes | string\n\n /**\n * The attachment layout of the activity.\n */\n attachmentLayout?: AttachmentLayoutTypes | string\n\n /**\n * The members added to the conversation.\n */\n membersAdded?: ChannelAccount[]\n\n /**\n * The members removed from the conversation.\n */\n membersRemoved?: ChannelAccount[]\n\n /**\n * The reactions added to the activity.\n */\n reactionsAdded?: MessageReaction[]\n\n /**\n * The reactions removed from the activity.\n */\n reactionsRemoved?: MessageReaction[]\n\n /**\n * The topic name of the activity.\n */\n topicName?: string\n\n /**\n * Indicates whether the history is disclosed.\n */\n historyDisclosed?: boolean\n\n /**\n * The locale of the activity.\n */\n locale?: string\n\n /**\n * The speech text of the activity.\n */\n speak?: string\n\n /**\n * The input hint for the activity.\n */\n inputHint?: InputHints | string\n\n /**\n * The summary of the activity.\n */\n summary?: string\n\n /**\n * The suggested actions for the activity.\n */\n suggestedActions?: SuggestedActions\n\n /**\n * The attachments of the activity.\n */\n attachments?: Attachment[]\n\n /**\n * The entities associated with the activity.\n */\n entities?: Entity[]\n\n /**\n * The channel-specific data for the activity.\n */\n channelData?: any\n\n /**\n * The action associated with the activity.\n */\n action?: string\n\n /**\n * The ID of the activity being replied to.\n */\n replyToId?: string\n\n /**\n * The label for the activity.\n */\n label?: string\n\n /**\n * The value type of the activity.\n */\n valueType?: string\n\n /**\n * The value associated with the activity.\n */\n value?: unknown\n\n /**\n * The name of the activity event.\n */\n name?: ActivityEventNames | string\n\n /**\n * The conversation reference for the activity.\n */\n relatesTo?: ConversationReference\n\n /**\n * The end-of-conversation code for the activity.\n */\n code?: EndOfConversationCodes | string\n\n /**\n * The expiration time of the activity.\n */\n expiration?: string | Date\n\n /**\n * The importance of the activity.\n */\n importance?: ActivityImportance | string\n\n /**\n * The delivery mode of the activity.\n */\n deliveryMode?: DeliveryModes | string\n\n /**\n * The list of keywords to listen for in the activity.\n */\n listenFor?: string[]\n\n /**\n * The text highlights in the activity.\n */\n textHighlights?: TextHighlight[]\n\n /**\n * The semantic action associated with the activity.\n */\n semanticAction?: SemanticAction\n\n /**\n * The raw timestamp of the activity.\n */\n rawTimestamp?: string\n\n /**\n * The raw expiration time of the activity.\n */\n rawExpiration?: string\n\n /**\n * The raw local timestamp of the activity.\n */\n rawLocalTimestamp?: string\n\n /**\n * Additional properties of the activity.\n */\n [x: string]: unknown\n\n /**\n * Creates a new Activity instance.\n * @param t The type of the activity.\n * @throws Will throw an error if the activity type is invalid.\n */\n constructor (t: ActivityTypes | string) {\n if (t === undefined) {\n throw new Error('Invalid ActivityType: undefined')\n }\n if (t === null) {\n throw new Error('Invalid ActivityType: null')\n }\n if ((typeof t === 'string') && (t.length === 0)) {\n throw new Error('Invalid ActivityType: empty string')\n }\n\n this.type = t\n }\n\n /**\n * Creates an Activity instance from a JSON string.\n * @param json The JSON string representing the activity.\n * @returns The created Activity instance.\n */\n static fromJson (json: string): Activity {\n return this.fromObject(JSON.parse(json))\n }\n\n /**\n * Creates an Activity instance from an object.\n * @param o The object representing the activity.\n * @returns The created Activity instance.\n */\n static fromObject (o: object): Activity {\n const parsedActivity = activityZodSchema.passthrough().parse(o)\n const activity = new Activity(parsedActivity.type)\n Object.assign(activity, parsedActivity)\n return activity\n }\n\n /**\n * Creates a continuation activity from a conversation reference.\n * @param reference The conversation reference.\n * @returns The created continuation activity.\n */\n static getContinuationActivity (reference: ConversationReference): Activity {\n const continuationActivityObj = {\n type: ActivityTypes.Event,\n name: ActivityEventNames.ContinueConversation,\n id: uuid(),\n channelId: reference.channelId,\n locale: reference.locale,\n serviceUrl: reference.serviceUrl,\n conversation: reference.conversation,\n recipient: reference.agent,\n from: reference.user,\n relatesTo: reference\n }\n const continuationActivity: Activity = Activity.fromObject(continuationActivityObj)\n return continuationActivity\n }\n\n /**\n * Gets the appropriate reply-to ID for the activity.\n * @returns The reply-to ID, or undefined if not applicable.\n */\n private getAppropriateReplyToId (): string | undefined {\n if (\n this.type !== ActivityTypes.ConversationUpdate ||\n (this.channelId !== Channels.Directline && this.channelId !== Channels.Webchat)\n ) {\n return this.id\n }\n\n return undefined\n }\n\n /**\n * Gets the conversation reference for the activity.\n * @returns The conversation reference.\n * @throws Will throw an error if required properties are undefined.\n */\n public getConversationReference (): ConversationReference {\n if (this.recipient === null || this.recipient === undefined) {\n throw new Error('Activity Recipient undefined')\n }\n if (this.conversation === null || this.conversation === undefined) {\n throw new Error('Activity Conversation undefined')\n }\n if (this.channelId === null || this.channelId === undefined) {\n throw new Error('Activity ChannelId undefined')\n }\n\n return {\n activityId: this.getAppropriateReplyToId(),\n user: this.from,\n agent: this.recipient,\n conversation: this.conversation,\n channelId: this.channelId,\n locale: this.locale,\n serviceUrl: this.serviceUrl\n }\n }\n\n /**\n * Applies a conversation reference to the activity.\n * @param reference The conversation reference.\n * @param isIncoming Whether the activity is incoming.\n * @returns The updated activity.\n */\n public applyConversationReference (\n reference: ConversationReference,\n isIncoming = false\n ): Activity {\n this.channelId = reference.channelId\n this.locale ??= reference.locale\n this.serviceUrl = reference.serviceUrl\n this.conversation = reference.conversation\n if (isIncoming) {\n this.from = reference.user\n this.recipient = reference.agent ?? undefined\n if (reference.activityId) {\n this.id = reference.activityId\n }\n } else {\n this.from = reference.agent ?? undefined\n this.recipient = reference.user\n if (reference.activityId) {\n this.replyToId = reference.activityId\n }\n }\n\n return this\n }\n\n public clone (): Activity {\n const activityCopy = JSON.parse(JSON.stringify(this))\n\n for (const key in activityCopy) {\n if (typeof activityCopy[key] === 'string' && !isNaN(Date.parse(activityCopy[key]))) {\n activityCopy[key] = new Date(activityCopy[key] as string)\n }\n }\n\n Object.setPrototypeOf(activityCopy, Activity.prototype)\n return activityCopy\n }\n\n /**\n * Gets the mentions in the activity.\n * @param activity The activity.\n * @returns The list of mentions.\n */\n public getMentions (activity: Activity): Mention[] {\n const result: Mention[] = []\n if (activity.entities !== undefined) {\n for (let i = 0; i < activity.entities.length; i++) {\n if (activity.entities[i].type.toLowerCase() === 'mention') {\n result.push(activity.entities[i] as unknown as Mention)\n }\n }\n }\n return result\n }\n\n /**\n * Normalizes mentions in the activity by removing mention tags and optionally removing recipient mention.\n * @param removeMention Whether to remove the recipient mention from the activity.\n */\n public normalizeMentions (removeMention: boolean = false): void {\n if (this.type === ActivityTypes.Message) {\n if (removeMention) {\n // Strip recipient mention tags and text\n this.removeRecipientMention()\n\n // Strip entity.mention records for recipient id\n if (this.entities !== undefined && this.recipient?.id) {\n this.entities = this.entities.filter((entity) => {\n if (entity.type.toLowerCase() === 'mention') {\n const mention = entity as unknown as Mention\n return mention.mentioned.id !== this.recipient?.id\n }\n return true\n })\n }\n }\n\n // Remove <at> </at> tags keeping the inner text\n if (this.text) {\n this.text = Activity.removeAt(this.text)\n }\n\n // Remove <at> </at> tags from mention records keeping the inner text\n if (this.entities !== undefined) {\n const mentions = this.getMentions(this)\n for (const mention of mentions) {\n if (mention.text) {\n mention.text = Activity.removeAt(mention.text)?.trim()\n }\n }\n }\n }\n }\n\n /**\n * Removes <at> </at> tags from the specified text.\n * @param text The text to process.\n * @returns The text with <at> </at> tags removed.\n */\n private static removeAt (text: string): string {\n if (!text) {\n return text\n }\n\n let foundTag: boolean\n do {\n foundTag = false\n const iAtStart = text.toLowerCase().indexOf('<at')\n if (iAtStart >= 0) {\n const iAtEnd = text.indexOf('>', iAtStart)\n if (iAtEnd > 0) {\n const iAtClose = text.toLowerCase().indexOf('</at>', iAtEnd)\n if (iAtClose > 0) {\n // Replace </at>\n let followingText = text.substring(iAtClose + 5)\n\n // If first char of followingText is not whitespace, insert space\n if (followingText.length > 0 && !(/\\s/.test(followingText[0]))) {\n followingText = ` ${followingText}`\n }\n\n text = text.substring(0, iAtClose) + followingText\n\n // Get tag content (text between <at...> and </at>)\n const tagContent = text.substring(iAtEnd + 1, iAtClose)\n\n // Replace <at ...> with just the tag content\n let prefixText = text.substring(0, iAtStart)\n\n // If prefixText is not empty and doesn't end with whitespace, add a space\n if (prefixText.length > 0 && !(/\\s$/.test(prefixText))) {\n prefixText += ' '\n }\n\n text = prefixText + tagContent + followingText\n\n // We found one, try again, there may be more\n foundTag = true\n }\n }\n }\n } while (foundTag)\n\n return text\n }\n\n /**\n * Removes the mention text for a given ID.\n * @param id The ID of the mention to remove.\n * @returns The updated text.\n */\n public removeMentionText (id: string): string {\n const mentions = this.getMentions(this)\n const mentionsFiltered = mentions.filter((mention): boolean => mention.mentioned.id === id)\n if ((mentionsFiltered.length > 0) && this.text) {\n this.text = this.text.replace(mentionsFiltered[0].text, '').trim()\n }\n return this.text || ''\n }\n\n /**\n * Removes the recipient mention from the activity text.\n * @returns The updated text.\n */\n public removeRecipientMention (): string {\n if ((this.recipient != null) && this.recipient.id) {\n return this.removeMentionText(this.recipient.id)\n }\n return ''\n }\n\n /**\n * Gets the conversation reference for a reply.\n * @param replyId The ID of the reply.\n * @returns The conversation reference.\n */\n public getReplyConversationReference (\n replyId: string\n ): ConversationReference {\n const reference: ConversationReference = this.getConversationReference()\n\n reference.activityId = replyId\n\n return reference\n }\n\n public toJsonString (): string {\n return JSON.stringify(this)\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Constants representing caller IDs.\n */\nexport const CallerIdConstants = {\n /**\n * Public Azure channel caller ID.\n */\n PublicAzureChannel: 'urn:botframework:azure',\n /**\n * US Government channel caller ID.\n */\n USGovChannel: 'urn:botframework:azureusgov',\n /**\n * Agent prefix for caller ID.\n */\n AgentPrefix: 'urn:botframework:aadappid:'\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { z } from 'zod'\n\n/**\n * Enum representing treatment types for the activity.\n */\nexport enum ActivityTreatments {\n /**\n * Indicates that only the recipient should be able to see the message even if the activity\n * is being sent to a group of people.\n */\n Targeted = 'targeted',\n}\n\n/**\n * Zod schema for validating an ActivityTreatments enum.\n */\nexport const activityTreatments = z.nativeEnum(ActivityTreatments)\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Export statements for various modules.\n */\nexport { ActionTypes } from './action/actionTypes'\nexport { CardAction } from './action/cardAction'\nexport { SemanticAction } from './action/semanticAction'\nexport { SemanticActionStateTypes } from './action/semanticActionStateTypes'\nexport { SuggestedActions } from './action/suggestedActions'\n\nexport { Attachment } from './attachment/attachment'\nexport { AttachmentLayoutTypes } from './attachment/attachmentLayoutTypes'\n\nexport { ChannelAccount } from './conversation/channelAccount'\nexport { Channels } from './conversation/channels'\nexport { ConversationAccount } from './conversation/conversationAccount'\nexport { ConversationReference } from './conversation/conversationReference'\nexport { EndOfConversationCodes } from './conversation/endOfConversationCodes'\nexport { ConversationParameters } from './conversation/conversationParameters'\nexport { RoleTypes } from './conversation/roleTypes'\n\nexport { Entity } from './entity/entity'\nexport { Mention } from './entity/mention'\nexport { GeoCoordinates } from './entity/geoCoordinates'\nexport { Place } from './entity/place'\nexport { Thing } from './entity/thing'\nexport * from './entity/AIEntity'\n\nexport * from './invoke/adaptiveCardInvokeAction'\n\nexport { Activity, activityZodSchema } from './activity'\nexport { ActivityEventNames } from './activityEventNames'\nexport { ActivityImportance } from './activityImportance'\nexport { ActivityTypes } from './activityTypes'\nexport { CallerIdConstants } from './callerIdConstants'\nexport { DeliveryModes } from './deliveryModes'\nexport { ExpectedReplies } from './expectedReplies'\nexport { InputHints } from './inputHints'\nexport { MessageReaction } from './messageReaction'\nexport { MessageReactionTypes } from './messageReactionTypes'\nexport { TextFormatTypes } from './textFormatTypes'\nexport { TextHighlight } from './textHighlight'\nexport { ActivityTreatments } from './activityTreatments'\nexport { debug, Logger } from './logger'\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Enum representing the type of agent.\n */\nexport enum AgentType {\n /**\n * Represents a published agent.\n */\n Published = 'Published',\n /**\n * Represents a prebuilt agent.\n */\n Prebuilt = 'Prebuilt',\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Enum representing different Power Platform cloud environments.\n */\nexport enum PowerPlatformCloud {\n /**\n * Unknown cloud environment.\n */\n Unknown = 'Unknown',\n /**\n * Experimental cloud environment.\n */\n Exp = 'Exp',\n /**\n * Development cloud environment.\n */\n Dev = 'Dev',\n /**\n * Test cloud environment.\n */\n Test = 'Test',\n /**\n * Pre-production cloud environment.\n */\n Preprod = 'Preprod',\n /**\n * First release cloud environment.\n */\n FirstRelease = 'FirstRelease',\n /**\n * Production cloud environment.\n */\n Prod = 'Prod',\n /**\n * Government cloud environment.\n */\n Gov = 'Gov',\n /**\n * High security cloud environment.\n */\n High = 'High',\n /**\n * Department of Defense cloud environment.\n */\n DoD = 'DoD',\n /**\n * Mooncake cloud environment.\n */\n Mooncake = 'Mooncake',\n /**\n * Ex cloud environment.\n */\n Ex = 'Ex',\n /**\n * Rx cloud environment.\n */\n Rx = 'Rx',\n /**\n * Private cloud environment.\n */\n Prv = 'Prv',\n /**\n * Local cloud environment.\n */\n Local = 'Local',\n /**\n * French government cloud environment.\n */\n GovFR = 'GovFR',\n /**\n * Other cloud environment.\n */\n Other = 'Other',\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AgentType } from './agentType'\nimport { CopilotStudioConnectionSettings } from './copilotStudioConnectionSettings'\nimport { PowerPlatformCloud } from './powerPlatformCloud'\n\n/**\n * Configuration options for establishing a connection to Copilot Studio.\n */\nabstract class ConnectionOptions implements Omit<CopilotStudioConnectionSettings, 'cloud' | 'copilotAgentType'> {\n /** The client ID of the application. */\n public appClientId: string = ''\n /** The tenant ID of the application. */\n public tenantId: string = ''\n /** The login authority to use for the connection */\n public authority?: string = ''\n /** The environment ID of the application. */\n public environmentId: string = ''\n /** The identifier of the agent. */\n public agentIdentifier: string = ''\n /** The cloud environment of the application. */\n public cloud?: PowerPlatformCloud | keyof typeof PowerPlatformCloud\n /** The custom Power Platform cloud URL, if any. */\n public customPowerPlatformCloud?: string\n /** The type of the Copilot agent. */\n public copilotAgentType?: AgentType | keyof typeof AgentType\n /** The URL to connect directly to Copilot Studio endpoint */\n public directConnectUrl?: string\n /** Flag to use the experimental endpoint if available */\n public useExperimentalEndpoint?: boolean = false\n}\n\n/**\n * Represents the settings required to establish a connection to Copilot Studio.\n */\nexport class ConnectionSettings extends ConnectionOptions {\n /** The cloud environment of the application. */\n public cloud?: PowerPlatformCloud\n /** The type of the Copilot agent. */\n public copilotAgentType?: AgentType\n\n /**\n * Default constructor for the ConnectionSettings class.\n */\n constructor ()\n\n /**\n * Creates an instance of ConnectionSettings.\n * @param options Represents the settings required to establish a direct connection to the engine.\n */\n constructor (options: ConnectionOptions)\n\n /**\n * @private\n */\n constructor (options?: ConnectionOptions) {\n super()\n\n if (!options) {\n return\n }\n\n const cloud = options.cloud ?? PowerPlatformCloud.Prod\n const copilotAgentType = options.copilotAgentType ?? AgentType.Published\n const authority = options.authority && options.authority.trim() !== ''\n ? options.authority\n : 'https://login.microsoftonline.com'\n\n if (!Object.values(PowerPlatformCloud).includes(cloud as PowerPlatformCloud)) {\n throw new Error(`Invalid PowerPlatformCloud: '${cloud}'. Supported values: ${Object.values(PowerPlatformCloud).join(', ')}`)\n }\n\n if (!Object.values(AgentType).includes(copilotAgentType as AgentType)) {\n throw new Error(`Invalid AgentType: '${copilotAgentType}'. Supported values: ${Object.values(AgentType).join(', ')}`)\n }\n\n Object.assign(this, { ...options, cloud, copilotAgentType, authority })\n }\n}\n\n/**\n * Loads the connection settings for Copilot Studio from environment variables.\n * @returns The connection settings.\n */\nexport const loadCopilotStudioConnectionSettingsFromEnv: () => ConnectionSettings = () => {\n return new ConnectionSettings({\n appClientId: process.env.appClientId ?? '',\n tenantId: process.env.tenantId ?? '',\n authority: process.env.authorityEndpoint ?? 'https://login.microsoftonline.com',\n environmentId: process.env.environmentId ?? '',\n agentIdentifier: process.env.agentIdentifier ?? '',\n cloud: process.env.cloud as PowerPlatformCloud,\n customPowerPlatformCloud: process.env.customPowerPlatformCloud,\n copilotAgentType: process.env.copilotAgentType as AgentType,\n directConnectUrl: process.env.directConnectUrl,\n useExperimentalEndpoint: process.env.useExperimentalEndpoint?.toLowerCase() === 'true'\n })\n}\n", "'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n", "'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n \n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n", "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n", "// eslint-disable-next-line strict\nexport default null;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n", "'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n", "'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n", "'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n", "'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n", "'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n", "'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n", "import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n", "const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n", "import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n", "'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n", "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n", "'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n", "'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n", "'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n", "'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n", "'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n", "'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n", "'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n", "'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n", "/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n", "import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n", "import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n", "import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n", "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n", "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n", "'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n", "import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n", "import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n", "import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n", "\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n", "import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request, fetchOptions);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n", "import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n", "'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n", "export const VERSION = \"1.11.0\";", "'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n", "'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n", "'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n", "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n", "'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n", "const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n", "'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n", "import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AgentType } from './agentType'\nimport { ConnectionSettings } from './connectionSettings'\nimport { debug } from '@microsoft/agents-activity/logger'\nimport { PowerPlatformCloud } from './powerPlatformCloud'\nimport { PrebuiltBotStrategy } from './strategies/prebuiltBotStrategy'\nimport { PublishedBotStrategy } from './strategies/publishedBotStrategy'\n\nconst logger = debug('copilot-studio:power-platform')\n\n/**\n * Generates the connection URL for Copilot Studio.\n * @param settings - The connection settings.\n * @param conversationId - Optional conversation ID.\n * @returns The connection URL.\n * @throws Will throw an error if required settings are missing or invalid.\n */\nexport function getCopilotStudioConnectionUrl (\n settings: ConnectionSettings,\n conversationId?: string\n): string {\n if (settings.directConnectUrl?.trim()) {\n logger.debug(`Using direct connection: ${settings.directConnectUrl}`)\n if (!isValidUri(settings.directConnectUrl)) {\n throw new Error('directConnectUrl must be a valid URL')\n }\n\n // FIX for Missing Tenant ID\n if (settings.directConnectUrl.toLowerCase().includes('tenants/00000000-0000-0000-0000-000000000000')) {\n logger.debug(`Direct connection cannot be used, forcing default settings flow. Tenant ID is missing in the URL: ${settings.directConnectUrl}`)\n // Direct connection cannot be used, ejecting and forcing the normal settings flow:\n return getCopilotStudioConnectionUrl({ ...settings, directConnectUrl: '' }, conversationId)\n }\n\n return createURL(settings.directConnectUrl, conversationId).href\n }\n\n const cloudSetting = settings.cloud ?? PowerPlatformCloud.Prod\n const agentType = settings.copilotAgentType ?? AgentType.Published\n\n logger.debug(`Using cloud setting: ${cloudSetting}`)\n logger.debug(`Using agent type: ${agentType}`)\n\n if (!settings.environmentId?.trim()) {\n throw new Error('EnvironmentId must be provided')\n }\n\n if (!settings.agentIdentifier?.trim()) {\n throw new Error('AgentIdentifier must be provided')\n }\n\n if (cloudSetting === PowerPlatformCloud.Other) {\n if (!settings.customPowerPlatformCloud?.trim()) {\n throw new Error('customPowerPlatformCloud must be provided when PowerPlatformCloud is Other')\n } else if (isValidUri(settings.customPowerPlatformCloud)) {\n logger.debug(`Using custom Power Platform cloud: ${settings.customPowerPlatformCloud}`)\n } else {\n throw new Error(\n 'customPowerPlatformCloud must be a valid URL'\n )\n }\n }\n\n const host = getEnvironmentEndpoint(cloudSetting, settings.environmentId, settings.customPowerPlatformCloud)\n\n const strategy = {\n [AgentType.Published]: () => new PublishedBotStrategy({\n host,\n schema: settings.agentIdentifier!,\n }),\n [AgentType.Prebuilt]: () => new PrebuiltBotStrategy({\n host,\n identifier: settings.agentIdentifier!,\n }),\n }[agentType]()\n\n const url = strategy.getConversationUrl(conversationId)\n logger.debug(`Generated Copilot Studio connection URL: ${url}`)\n return url\n}\n\n/**\n * Returns the Power Platform API Audience.\n * @param settings - Configuration Settings to use.\n * @param cloud - Optional Power Platform Cloud Hosting Agent.\n * @param cloudBaseAddress - Optional Power Platform API endpoint to use if Cloud is configured as \"other\".\n * @param directConnectUrl - Optional DirectConnection URL to a given Copilot Studio agent, if provided all other settings are ignored.\n * @returns The Power Platform Audience.\n * @throws Will throw an error if required settings are missing or invalid.\n */\nexport function getTokenAudience (\n settings?: ConnectionSettings,\n cloud: PowerPlatformCloud = PowerPlatformCloud.Unknown,\n cloudBaseAddress: string = '',\n directConnectUrl: string = ''): string {\n if (!directConnectUrl && !settings?.directConnectUrl) {\n if (cloud === PowerPlatformCloud.Other && !cloudBaseAddress) {\n throw new Error('cloudBaseAddress must be provided when PowerPlatformCloudCategory is Other')\n }\n if (!settings && cloud === PowerPlatformCloud.Unknown) {\n throw new Error('Either settings or cloud must be provided')\n }\n if (settings && settings.cloud && settings.cloud !== PowerPlatformCloud.Unknown) {\n cloud = settings.cloud\n }\n if (cloud === PowerPlatformCloud.Other) {\n if (cloudBaseAddress && isValidUri(cloudBaseAddress)) {\n cloud = PowerPlatformCloud.Other\n } else if (settings?.customPowerPlatformCloud && isValidUri(settings!.customPowerPlatformCloud)) {\n cloud = PowerPlatformCloud.Other\n cloudBaseAddress = settings.customPowerPlatformCloud\n } else {\n throw new Error('Either CustomPowerPlatformCloud or cloudBaseAddress must be provided when PowerPlatformCloudCategory is Other')\n }\n }\n cloudBaseAddress ??= 'api.unknown.powerplatform.com'\n return `https://${getEndpointSuffix(cloud, cloudBaseAddress)}/.default`\n } else {\n if (!directConnectUrl) {\n directConnectUrl = settings?.directConnectUrl ?? ''\n }\n if (directConnectUrl && isValidUri(directConnectUrl)) {\n if (decodeCloudFromURI(new URL(directConnectUrl)) === PowerPlatformCloud.Unknown) {\n const cloudToTest: PowerPlatformCloud = settings?.cloud ?? cloud\n\n if (cloudToTest === PowerPlatformCloud.Other || cloudToTest === PowerPlatformCloud.Unknown) {\n throw new Error('Unable to resolve the PowerPlatform Cloud from DirectConnectUrl. The Token Audience resolver requires a specific PowerPlatformCloudCategory.')\n }\n if ((cloudToTest as PowerPlatformCloud) !== PowerPlatformCloud.Unknown) {\n return `https://${getEndpointSuffix(cloudToTest, '')}/.default`\n } else {\n throw new Error('Unable to resolve the PowerPlatform Cloud from DirectConnectUrl. The Token Audience resolver requires a specific PowerPlatformCloudCategory.')\n }\n }\n return `https://${getEndpointSuffix(decodeCloudFromURI(new URL(directConnectUrl)), '')}/.default`\n } else {\n throw new Error('DirectConnectUrl must be provided when DirectConnectUrl is set')\n }\n }\n}\nfunction isValidUri (uri: string): boolean {\n try {\n const absoluteUrl = uri.startsWith('http') ? uri : `https://${uri}`\n const newUri = new URL(absoluteUrl)\n return !!newUri\n } catch {\n return false\n }\n}\n\nfunction createURL (base: string, conversationId?: string): URL {\n const url = new URL(base)\n\n if (!url.searchParams.has('api-version')) {\n url.searchParams.append('api-version', '2022-03-01-preview')\n }\n\n if (url.pathname.endsWith('/')) {\n url.pathname = url.pathname.slice(0, -1)\n }\n\n if (url.pathname.includes('/conversations')) {\n url.pathname = url.pathname.substring(0, url.pathname.indexOf('/conversations'))\n }\n\n url.pathname = `${url.pathname}/conversations`\n if (conversationId) {\n url.pathname = `${url.pathname}/${conversationId}`\n }\n\n return url\n}\n\nfunction getEnvironmentEndpoint (\n cloud: PowerPlatformCloud,\n environmentId: string,\n cloudBaseAddress?: string\n): URL {\n if (cloud === PowerPlatformCloud.Other && (!cloudBaseAddress || !cloudBaseAddress.trim())) {\n throw new Error('cloudBaseAddress must be provided when PowerPlatformCloud is Other')\n }\n\n cloudBaseAddress = cloudBaseAddress ?? 'api.unknown.powerplatform.com'\n\n const normalizedResourceId = environmentId.toLowerCase().replaceAll('-', '')\n const idSuffixLength = getIdSuffixLength(cloud)\n const hexPrefix = normalizedResourceId.substring(0, normalizedResourceId.length - idSuffixLength)\n const hexSuffix = normalizedResourceId.substring(normalizedResourceId.length - idSuffixLength)\n\n return new URL(`https://${hexPrefix}.${hexSuffix}.environment.${getEndpointSuffix(cloud, cloudBaseAddress)}`)\n}\n\nfunction getEndpointSuffix (\n category: PowerPlatformCloud,\n cloudBaseAddress: string\n): string {\n switch (category) {\n case PowerPlatformCloud.Local:\n return 'api.powerplatform.localhost'\n case PowerPlatformCloud.Exp:\n return 'api.exp.powerplatform.com'\n case PowerPlatformCloud.Dev:\n return 'api.dev.powerplatform.com'\n case PowerPlatformCloud.Prv:\n return 'api.prv.powerplatform.com'\n case PowerPlatformCloud.Test:\n return 'api.test.powerplatform.com'\n case PowerPlatformCloud.Preprod:\n return 'api.preprod.powerplatform.com'\n case PowerPlatformCloud.FirstRelease:\n case PowerPlatformCloud.Prod:\n return 'api.powerplatform.com'\n case PowerPlatformCloud.GovFR:\n return 'api.gov.powerplatform.microsoft.us'\n case PowerPlatformCloud.Gov:\n return 'api.gov.powerplatform.microsoft.us'\n case PowerPlatformCloud.High:\n return 'api.high.powerplatform.microsoft.us'\n case PowerPlatformCloud.DoD:\n return 'api.appsplatform.us'\n case PowerPlatformCloud.Mooncake:\n return 'api.powerplatform.partner.microsoftonline.cn'\n case PowerPlatformCloud.Ex:\n return 'api.powerplatform.eaglex.ic.gov'\n case PowerPlatformCloud.Rx:\n return 'api.powerplatform.microsoft.scloud'\n case PowerPlatformCloud.Other:\n return cloudBaseAddress\n default:\n throw new Error(`Invalid cluster category value: ${category}`)\n }\n}\n\nfunction getIdSuffixLength (cloud: PowerPlatformCloud): number {\n switch (cloud) {\n case PowerPlatformCloud.FirstRelease:\n case PowerPlatformCloud.Prod:\n return 2\n default:\n return 1\n }\n}\n\nfunction decodeCloudFromURI (uri: URL): PowerPlatformCloud {\n const host = uri.host.toLowerCase()\n\n switch (host) {\n case 'api.powerplatform.localhost':\n return PowerPlatformCloud.Local\n case 'api.exp.powerplatform.com':\n return PowerPlatformCloud.Exp\n case 'api.dev.powerplatform.com':\n return PowerPlatformCloud.Dev\n case 'api.prv.powerplatform.com':\n return PowerPlatformCloud.Prv\n case 'api.test.powerplatform.com':\n return PowerPlatformCloud.Test\n case 'api.preprod.powerplatform.com':\n return PowerPlatformCloud.Preprod\n case 'api.powerplatform.com':\n return PowerPlatformCloud.Prod\n case 'api.gov.powerplatform.microsoft.us':\n return PowerPlatformCloud.GovFR\n case 'api.high.powerplatform.microsoft.us':\n return PowerPlatformCloud.High\n case 'api.appsplatform.us':\n return PowerPlatformCloud.DoD\n case 'api.powerplatform.partner.microsoftonline.cn':\n return PowerPlatformCloud.Mooncake\n default:\n return PowerPlatformCloud.Unknown\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Strategy } from './strategy'\n\nexport interface PrebuiltBotStrategySettings {\n readonly host: URL;\n readonly identifier: string;\n}\n\nexport class PrebuiltBotStrategy implements Strategy {\n private readonly API_VERSION = '2022-03-01-preview'\n private baseURL: URL\n\n constructor (settings: PrebuiltBotStrategySettings) {\n const { identifier, host } = settings\n\n this.baseURL = new URL(\n `/copilotstudio/prebuilt/authenticated/bots/${identifier}`,\n host\n )\n this.baseURL.searchParams.append('api-version', this.API_VERSION)\n }\n\n public getConversationUrl (conversationId?: string): string {\n const conversationUrl = new URL(this.baseURL.href)\n conversationUrl.pathname = `${conversationUrl.pathname}/conversations`\n\n if (conversationId) {\n conversationUrl.pathname = `${conversationUrl.pathname}/${conversationId}`\n }\n\n return conversationUrl.href\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Strategy } from './strategy'\n\nexport interface PublishedBotStrategySettings {\n readonly host: URL;\n readonly schema: string;\n}\n\nexport class PublishedBotStrategy implements Strategy {\n private readonly API_VERSION = '2022-03-01-preview'\n private baseURL: URL\n\n constructor (settings: PublishedBotStrategySettings) {\n const { schema, host } = settings\n\n this.baseURL = new URL(\n `/copilotstudio/dataverse-backed/authenticated/bots/${schema}`,\n host\n )\n this.baseURL.searchParams.append('api-version', this.API_VERSION)\n }\n\n public getConversationUrl (conversationId?: string): string {\n const conversationUrl = new URL(this.baseURL.href)\n conversationUrl.pathname = `${conversationUrl.pathname}/conversations`\n\n if (conversationId) {\n conversationUrl.pathname = `${conversationUrl.pathname}/${conversationId}`\n }\n\n return conversationUrl.href\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ConnectionSettings } from './connectionSettings'\nimport axios, { AxiosInstance, AxiosRequestConfig } from 'axios'\nimport { getCopilotStudioConnectionUrl, getTokenAudience } from './powerPlatformEnvironment'\nimport { Activity, ActivityTypes, ConversationAccount } from '@microsoft/agents-activity'\nimport { ExecuteTurnRequest } from './executeTurnRequest'\nimport { debug } from '@microsoft/agents-activity/logger'\nimport { version } from '../package.json'\nimport os from 'os'\n\nconst logger = debug('copilot-studio:client')\n\ninterface streamRead {\n done: boolean,\n value: string\n}\n\n/**\n * Client for interacting with Microsoft Copilot Studio services.\n * Provides functionality to start conversations and send messages to Copilot Studio bots.\n */\nexport class CopilotStudioClient {\n /** Header key for conversation ID. */\n private static readonly conversationIdHeaderKey: string = 'x-ms-conversationid'\n /** Island Header key */\n private static readonly islandExperimentalUrlHeaderKey: string = 'x-ms-d2e-experimental'\n\n /** The ID of the current conversation. */\n private conversationId: string = ''\n /** The connection settings for the client. */\n private readonly settings: ConnectionSettings\n /** The Axios instance used for HTTP requests. */\n private readonly client: AxiosInstance\n\n /**\n * Returns the scope URL needed to connect to Copilot Studio from the connection settings.\n * This is used for authentication token audience configuration.\n * @param settings Copilot Studio connection settings.\n * @returns The scope URL for token audience.\n */\n static scopeFromSettings: (settings: ConnectionSettings) => string = getTokenAudience\n\n /**\n * Creates an instance of CopilotStudioClient.\n * @param settings The connection settings.\n * @param token The authentication token.\n */\n constructor (settings: ConnectionSettings, token: string) {\n this.settings = settings\n this.client = axios.create()\n this.client.defaults.headers.common.Authorization = `Bearer ${token}`\n this.client.defaults.headers.common['User-Agent'] = CopilotStudioClient.getProductInfo()\n }\n\n private async postRequestAsync (axiosConfig: AxiosRequestConfig): Promise<Activity[]> {\n const activities: Activity[] = []\n\n logger.debug(`>>> SEND TO ${axiosConfig.url}`)\n\n const response = await this.client(axiosConfig)\n\n if (this.settings.useExperimentalEndpoint && !this.settings.directConnectUrl?.trim()) {\n const islandExperimentalUrl = response.headers?.[CopilotStudioClient.islandExperimentalUrlHeaderKey]\n if (islandExperimentalUrl) {\n this.settings.directConnectUrl = islandExperimentalUrl\n logger.debug(`Island Experimental URL: ${islandExperimentalUrl}`)\n }\n }\n\n this.conversationId = response.headers?.[CopilotStudioClient.conversationIdHeaderKey] ?? ''\n if (this.conversationId) {\n logger.debug(`Conversation ID: ${this.conversationId}`)\n }\n\n const sanitizedHeaders = { ...response.headers }\n delete sanitizedHeaders['Authorization']\n delete sanitizedHeaders[CopilotStudioClient.conversationIdHeaderKey]\n logger.debug('Headers received:', sanitizedHeaders)\n\n const stream = response.data\n const reader = stream.pipeThrough(new TextDecoderStream()).getReader()\n let result: string = ''\n const results: string[] = []\n\n const processEvents = async ({ done, value }: streamRead): Promise<string[]> => {\n if (done) {\n logger.debug('Stream complete')\n result += value\n results.push(result)\n return results\n }\n logger.info('Agent is typing ...')\n result += value\n\n return await processEvents(await reader.read())\n }\n\n const events: string[] = await reader.read().then(processEvents)\n\n events.forEach(event => {\n const values: string[] = event.toString().split('\\n')\n const validEvents = values.filter(e => e.substring(0, 4) === 'data' && e !== 'data: end\\r')\n validEvents.forEach(ve => {\n try {\n const act = Activity.fromJson(ve.substring(5, ve.length))\n if (act.type === ActivityTypes.Message) {\n activities.push(act)\n if (!this.conversationId.trim()) {\n // Did not get it from the header.\n this.conversationId = act.conversation?.id ?? ''\n logger.debug(`Conversation ID: ${this.conversationId}`)\n }\n } else {\n logger.debug(`Activity type: ${act.type}`)\n }\n } catch (e) {\n logger.error('Error: ', e)\n throw e\n }\n })\n })\n return activities\n }\n\n /**\n * Appends this package.json version to the User-Agent header.\n * - For browser environments, it includes the user agent of the browser.\n * - For Node.js environments, it includes the Node.js version, platform, architecture, and release.\n * @returns A string containing the product information, including version and user agent.\n */\n private static getProductInfo (): string {\n const versionString = `CopilotStudioClient.agents-sdk-js/${version}`\n let userAgent: string\n\n if (typeof window !== 'undefined' && window.navigator) {\n userAgent = `${versionString} ${navigator.userAgent}`\n } else {\n userAgent = `${versionString} nodejs/${process.version} ${os.platform()}-${os.arch()}/${os.release()}`\n }\n\n logger.debug(`User-Agent: ${userAgent}`)\n return userAgent\n }\n\n /**\n * Starts a new conversation with the Copilot Studio service.\n * @param emitStartConversationEvent Whether to emit a start conversation event. Defaults to true.\n * @returns A promise that resolves to the initial activity of the conversation.\n */\n public async startConversationAsync (emitStartConversationEvent: boolean = true): Promise<Activity> {\n const uriStart: string = getCopilotStudioConnectionUrl(this.settings)\n const body = { emitStartConversationEvent }\n\n const config: AxiosRequestConfig = {\n method: 'post',\n url: uriStart,\n headers: {\n Accept: 'text/event-stream',\n 'Content-Type': 'application/json',\n },\n data: body,\n responseType: 'stream',\n adapter: 'fetch'\n }\n\n logger.info('Starting conversation ...')\n const values = await this.postRequestAsync(config)\n const act = values[0]\n logger.info(`Conversation '${act.conversation?.id}' started. Received ${values.length} activities.`, values)\n return act\n }\n\n /**\n * Sends a question to the Copilot Studio service and retrieves the response activities.\n * @param question The question to ask.\n * @param conversationId The ID of the conversation. Defaults to the current conversation ID.\n * @returns A promise that resolves to an array of activities containing the responses.\n */\n public async askQuestionAsync (question: string, conversationId: string = this.conversationId) {\n const conversationAccount: ConversationAccount = {\n id: conversationId\n }\n const activityObj = {\n type: 'message',\n text: question,\n conversation: conversationAccount\n }\n const activity = Activity.fromObject(activityObj)\n\n return this.sendActivity(activity)\n }\n\n /**\n * Sends an activity to the Copilot Studio service and retrieves the response activities.\n * @param activity The activity to send.\n * @param conversationId The ID of the conversation. Defaults to the current conversation ID.\n * @returns A promise that resolves to an array of activities containing the responses.\n */\n public async sendActivity (activity: Activity, conversationId: string = this.conversationId) {\n const localConversationId = activity.conversation?.id ?? conversationId\n const uriExecute = getCopilotStudioConnectionUrl(this.settings, localConversationId)\n const qbody: ExecuteTurnRequest = new ExecuteTurnRequest(activity)\n\n const config: AxiosRequestConfig = {\n method: 'post',\n url: uriExecute,\n headers: {\n Accept: 'text/event-stream',\n 'Content-Type': 'application/json',\n },\n data: qbody,\n responseType: 'stream',\n adapter: 'fetch'\n }\n logger.info('Sending activity...', activity)\n const values = await this.postRequestAsync(config)\n logger.info(`Received ${values.length} activities.`, values)\n return values\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Activity } from '@microsoft/agents-activity'\n\n/**\n * Represents a request to execute a turn in a conversation.\n * This class encapsulates the activity to be executed during the turn.\n */\nexport class ExecuteTurnRequest {\n /** The activity to be executed. */\n activity?: Activity\n\n /**\n * Creates an instance of ExecuteTurnRequest.\n * @param activity The activity to be executed.\n */\n constructor (activity?: Activity) {\n this.activity = activity\n }\n}\n", "{\n \"name\": \"@microsoft/agents-copilotstudio-client\",\n \"version\": \"1.0.13-gef996e80de\",\n \"homepage\": \"https://github.com/microsoft/Agents-for-js\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/microsoft/Agents-for-js.git\"\n },\n \"author\": {\n \"name\": \"Microsoft\",\n \"email\": \"agentssdk@microsoft.com\",\n \"url\": \"https://aka.ms/Agents\"\n },\n \"description\": \"Microsoft Copilot Studio Client for JavaScript. Copilot Studio Client.\",\n \"keywords\": [\n \"Agents\",\n \"copilotstudio\",\n \"powerplatform\"\n ],\n \"main\": \"dist/src/index.js\",\n \"types\": \"dist/src/index.d.ts\",\n \"browser\": {\n \"os\": \"./src/browser/os.ts\",\n \"crypto\": \"./src/browser/crypto.ts\"\n },\n \"scripts\": {\n \"build:browser\": \"esbuild --platform=browser --target=es2019 --format=esm --bundle --sourcemap --minify --outfile=dist/src/browser.mjs src/index.ts\"\n },\n \"dependencies\": {\n \"@microsoft/agents-activity\": \"1.0.13-gef996e80de\",\n \"axios\": \"^1.9.0\",\n \"rxjs\": \"7.8.2\",\n \"uuid\": \"^11.1.0\"\n },\n \"license\": \"MIT\",\n \"files\": [\n \"README.md\",\n \"dist/src\",\n \"src\",\n \"package.json\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/src/index.d.ts\",\n \"import\": {\n \"browser\": \"./dist/src/browser.mjs\",\n \"default\": \"./dist/src/index.js\"\n },\n \"require\": {\n \"default\": \"./dist/src/index.js\"\n }\n },\n \"./package.json\": \"./package.json\"\n },\n \"engines\": {\n \"node\": \">=20.0.0\"\n }\n}", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type * as osTypes from 'os'\n\nexport default {} as typeof osTypes\n", "import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n", "let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n", "const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n", "import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n", "/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n", "/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass<T>(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n", "/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove<T>(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n */\nexport class Subscription implements SubscriptionLike {\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude<TeardownLogic, void>[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude<TeardownLogic, void>): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n", "import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification<any>, subscriber: Subscriber<any>) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n", "import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n", "/* tslint:disable:no-empty */\nexport function noop() { }\n", "import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification<T>(value: T) {\n return createNotification('N', value, undefined) as NextNotification<T>;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n", "import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n */\nexport class Subscriber<T> extends Subscription implements Observer<T> {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create<T>(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber<T> {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber<any> | Observer<any>; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber<any> | Observer<any>) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param value The `next` value.\n */\n next(value: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param err The `error` exception.\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind<Fn extends (...args: any[]) => any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver<T> implements Observer<T> {\n constructor(private partialObserver: Partial<Observer<T>>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber<T> extends Subscriber<T> {\n constructor(\n observerOrNext?: Partial<Observer<T>> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial<Observer<T>>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as ((value: T) => void) | undefined,\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent.\n * @param subscriber The stopped subscriber.\n */\nfunction handleStoppedNotification(notification: ObservableNotification<any>, subscriber: Subscriber<any>) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly<Observer<any>> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n", "/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n", "/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `<T>(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity<T>(x: T): T {\n return x;\n}\n", "import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe<T, A>(fn1: UnaryFunction<T, A>): UnaryFunction<T, A>;\nexport function pipe<T, A, B>(fn1: UnaryFunction<T, A>, fn2: UnaryFunction<A, B>): UnaryFunction<T, B>;\nexport function pipe<T, A, B, C>(fn1: UnaryFunction<T, A>, fn2: UnaryFunction<A, B>, fn3: UnaryFunction<B, C>): UnaryFunction<T, C>;\nexport function pipe<T, A, B, C, D>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>\n): UnaryFunction<T, D>;\nexport function pipe<T, A, B, C, D, E>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>\n): UnaryFunction<T, E>;\nexport function pipe<T, A, B, C, D, E, F>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>,\n fn6: UnaryFunction<E, F>\n): UnaryFunction<T, F>;\nexport function pipe<T, A, B, C, D, E, F, G>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>,\n fn6: UnaryFunction<E, F>,\n fn7: UnaryFunction<F, G>\n): UnaryFunction<T, G>;\nexport function pipe<T, A, B, C, D, E, F, G, H>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>,\n fn6: UnaryFunction<E, F>,\n fn7: UnaryFunction<F, G>,\n fn8: UnaryFunction<G, H>\n): UnaryFunction<T, H>;\nexport function pipe<T, A, B, C, D, E, F, G, H, I>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>,\n fn6: UnaryFunction<E, F>,\n fn7: UnaryFunction<F, G>,\n fn8: UnaryFunction<G, H>,\n fn9: UnaryFunction<H, I>\n): UnaryFunction<T, I>;\nexport function pipe<T, A, B, C, D, E, F, G, H, I>(\n fn1: UnaryFunction<T, A>,\n fn2: UnaryFunction<A, B>,\n fn3: UnaryFunction<B, C>,\n fn4: UnaryFunction<C, D>,\n fn5: UnaryFunction<D, E>,\n fn6: UnaryFunction<E, F>,\n fn7: UnaryFunction<F, G>,\n fn8: UnaryFunction<G, H>,\n fn9: UnaryFunction<H, I>,\n ...fns: UnaryFunction<any, any>[]\n): UnaryFunction<T, unknown>;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array<UnaryFunction<any, any>>): UnaryFunction<any, any> {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray<T, R>(fns: Array<UnaryFunction<T, R>>): UnaryFunction<T, R> {\n if (fns.length === 0) {\n return identity as UnaryFunction<any, any>;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction<T, R>) => fn(prev), input as any);\n };\n}\n", "import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n */\nexport class Observable<T> implements Subscribable<T> {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable<any> | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator<any, T> | undefined;\n\n /**\n * @param subscribe The function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable<T>, subscriber: Subscriber<T>) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @param subscribe the subscriber function to be passed to the Observable constructor\n * @return A new observable.\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = <T>(subscribe?: (subscriber: Subscriber<T>) => TeardownLogic) => {\n return new Observable<T>(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @param operator the operator defining the operation to take on the observable\n * @return A new observable with the Operator applied.\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift<R>(operator?: Operator<T, R>): Observable<R> {\n const observable = new Observable<R>();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial<Observer<T>> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * <span class=\"informal\">Use it when you have all these Observables, but still nothing is happening.</span>\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param observerOrNext Either an {@link Observer} with some or all callback methods,\n * or the `next` handler that is called for each value emitted from the subscribed Observable.\n * @param error A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param complete A handler for a terminal event resulting from successful completion.\n * @return A subscription reference to the registered handlers.\n */\n subscribe(\n observerOrNext?: Partial<Observer<T>> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber<T>): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next A handler for each value emitted by the observable.\n * @return A promise that either resolves on observable completion or\n * rejects with the handled error.\n */\n forEach(next: (value: T) => void): Promise<void>;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise<void>;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise<void> {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor<void>((resolve, reject) => {\n const subscriber = new SafeSubscriber<T>({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise<void>;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber<any>): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @return This instance of the observable.\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable<T>;\n pipe<A>(op1: OperatorFunction<T, A>): Observable<A>;\n pipe<A, B>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>): Observable<B>;\n pipe<A, B, C>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>): Observable<C>;\n pipe<A, B, C, D>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>\n ): Observable<D>;\n pipe<A, B, C, D, E>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>\n ): Observable<E>;\n pipe<A, B, C, D, E, F>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>,\n op6: OperatorFunction<E, F>\n ): Observable<F>;\n pipe<A, B, C, D, E, F, G>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>,\n op6: OperatorFunction<E, F>,\n op7: OperatorFunction<F, G>\n ): Observable<G>;\n pipe<A, B, C, D, E, F, G, H>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>,\n op6: OperatorFunction<E, F>,\n op7: OperatorFunction<F, G>,\n op8: OperatorFunction<G, H>\n ): Observable<H>;\n pipe<A, B, C, D, E, F, G, H, I>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>,\n op6: OperatorFunction<E, F>,\n op7: OperatorFunction<F, G>,\n op8: OperatorFunction<G, H>,\n op9: OperatorFunction<H, I>\n ): Observable<I>;\n pipe<A, B, C, D, E, F, G, H, I>(\n op1: OperatorFunction<T, A>,\n op2: OperatorFunction<A, B>,\n op3: OperatorFunction<B, C>,\n op4: OperatorFunction<C, D>,\n op5: OperatorFunction<D, E>,\n op6: OperatorFunction<E, F>,\n op7: OperatorFunction<F, G>,\n op8: OperatorFunction<G, H>,\n op9: OperatorFunction<H, I>,\n ...operations: OperatorFunction<any, any>[]\n ): Observable<unknown>;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n *\n * @return The Observable result of all the operators having been called\n * in the order they were passed in.\n */\n pipe(...operations: OperatorFunction<any, any>[]): Observable<any> {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise<T | undefined>;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise<T | undefined>;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise<T | undefined>;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise<T | undefined> {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise<T | undefined>;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver<T>(value: any): value is Observer<T> {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber<T>(value: any): value is Subscriber<T> {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface ObjectUnsubscribedError extends Error {}\n\nexport interface ObjectUnsubscribedErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (): ObjectUnsubscribedError;\n}\n\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(\n (_super) =>\n function ObjectUnsubscribedErrorImpl(this: any) {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n }\n);\n", "import { Operator } from './Operator';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { Observer, SubscriptionLike, TeardownLogic } from './types';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A Subject is a special type of Observable that allows values to be\n * multicasted to many Observers. Subjects are like EventEmitters.\n *\n * Every Subject is an Observable and an Observer. You can subscribe to a\n * Subject, and you can call next to feed values as well as error and complete.\n */\nexport class Subject<T> extends Observable<T> implements SubscriptionLike {\n closed = false;\n\n private currentObservers: Observer<T>[] | null = null;\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n observers: Observer<T>[] = [];\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n isStopped = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n hasError = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n thrownError: any = null;\n\n /**\n * Creates a \"subject\" by basically gluing an observer to an observable.\n *\n * @deprecated Recommended you do not use. Will be removed at some point in the future. Plans for replacement still under discussion.\n */\n static create: (...args: any[]) => any = <T>(destination: Observer<T>, source: Observable<T>): AnonymousSubject<T> => {\n return new AnonymousSubject<T>(destination, source);\n };\n\n constructor() {\n // NOTE: This must be here to obscure Observable's constructor.\n super();\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n lift<R>(operator: Operator<T, R>): Observable<R> {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator as any;\n return subject as any;\n }\n\n /** @internal */\n protected _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n\n next(value: T) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n\n error(err: any) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.error(err);\n }\n }\n });\n }\n\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.complete();\n }\n }\n });\n }\n\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null!;\n }\n\n get observed() {\n return this.observers?.length > 0;\n }\n\n /** @internal */\n protected _trySubscribe(subscriber: Subscriber<T>): TeardownLogic {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber<T>): Subscription {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n\n /** @internal */\n protected _innerSubscribe(subscriber: Subscriber<any>) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n\n /** @internal */\n protected _checkFinalizedStatuses(subscriber: Subscriber<any>) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n\n /**\n * Creates a new Observable with this Subject as the source. You can do this\n * to create custom Observer-side logic of the Subject and conceal it from\n * code that uses the Observable.\n * @return Observable that this Subject casts to.\n */\n asObservable(): Observable<T> {\n const observable: any = new Observable<T>();\n observable.source = this;\n return observable;\n }\n}\n\nexport class AnonymousSubject<T> extends Subject<T> {\n constructor(\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n public destination?: Observer<T>,\n source?: Observable<T>\n ) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n this.destination?.next?.(value);\n }\n\n error(err: any) {\n this.destination?.error?.(err);\n }\n\n complete() {\n this.destination?.complete?.();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber<T>): Subscription {\n return this.source?.subscribe(subscriber) ?? EMPTY_SUBSCRIPTION;\n }\n}\n", "import { Subject } from './Subject';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\n\n/**\n * A variant of Subject that requires an initial value and emits its current\n * value whenever it is subscribed to.\n */\nexport class BehaviorSubject<T> extends Subject<T> {\n constructor(private _value: T) {\n super();\n }\n\n get value(): T {\n return this.getValue();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber<T>): Subscription {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n\n getValue(): T {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n\n next(value: T): void {\n super.next((this._value = value));\n }\n}\n", "/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { v4 as uuid } from 'uuid'\n\nimport { Activity, ConversationAccount } from '@microsoft/agents-activity'\nimport { Observable, BehaviorSubject, type Subscriber } from 'rxjs'\n\nimport { CopilotStudioClient } from './copilotStudioClient'\nimport { debug } from '@microsoft/agents-activity/logger'\n\nconst logger = debug('copilot-studio:webchat')\n\n/**\n * Configuration settings for the Copilot Studio WebChat connection.\n * These settings control the behavior and appearance of the WebChat interface\n * when connected to the Copilot Studio service.\n */\nexport interface CopilotStudioWebChatSettings {\n /**\n * Whether to show typing indicators in the WebChat when the agent is processing a response.\n * When enabled, users will see a typing indicator while waiting for the agent's reply,\n * providing visual feedback that their message is being processed.\n * @default false\n */\n showTyping?: boolean;\n}\n\n/**\n * Represents a connection interface for integrating Copilot Studio with WebChat.\n *\n * @remarks\n * This interface provides the necessary methods and observables to facilitate\n * bidirectional communication between a WebChat client and the Copilot Studio service.\n *\n * The connection follows the DirectLine protocol pattern, making it compatible with\n * Microsoft Bot Framework WebChat components.\n */\nexport interface CopilotStudioWebChatConnection {\n /**\n * An observable that emits the current connection status as numeric values.\n * This allows WebChat clients to monitor and react to connection state changes.\n *\n * Connection status values:\n * - 0: Disconnected - No active connection to the service\n * - 1: Connecting - Attempting to establish connection\n * - 2: Connected - Successfully connected and ready for communication\n */\n connectionStatus$: BehaviorSubject<number>;\n\n /**\n * An observable stream that emits incoming activities from the Copilot Studio service.\n * Each activity represents a message, card, or other interactive element sent by the agent.\n *\n * All emitted activities include:\n * - A timestamp indicating when the activity was received\n * - A 'webchat:sequence-id' in their channelData for proper message ordering\n * - Standard Bot Framework Activity properties (type, text, attachments, etc.)\n */\n activity$: Observable<Partial<Activity>>;\n\n /**\n * Posts a user activity to the Copilot Studio service and returns an observable\n * that emits the activity ID once the message is successfully sent.\n *\n * The method validates that the activity contains meaningful content and handles\n * the complete message flow including optional typing indicators.\n *\n * @param activity - The user activity to send.\n * @returns An observable that emits the unique activity ID upon successful posting.\n * @throws Error if the activity text is empty or if the connection is not properly initialized.\n */\n postActivity(activity: Activity): Observable<string>;\n\n /**\n * Gracefully terminates the connection to the Copilot Studio service.\n * This method ensures proper cleanup by completing all active observables\n * and releasing associated resources.\n *\n * After calling this method:\n * - The connectionStatus$ observable will be completed\n * - The activity$ observable will stop emitting new activities\n * - No further activities can be posted through this connection\n */\n end(): void;\n}\n\n/**\n * A utility class that provides WebChat integration capabilities for Copilot Studio services.\n *\n * @remarks\n * This class acts as a bridge between Microsoft Bot Framework WebChat and Copilot Studio,\n * enabling seamless communication through a DirectLine-compatible interface.\n *\n * ## Key Features:\n * - DirectLine protocol compatibility for easy WebChat integration\n * - Real-time bidirectional messaging with Copilot Studio agents\n * - Automatic conversation management and message sequencing\n * - Optional typing indicators for enhanced user experience\n * - Observable-based architecture for reactive programming patterns\n *\n * ## Usage Scenarios:\n * - Embedding Copilot Studio agents in web applications\n * - Creating custom chat interfaces with WebChat components\n * - Building conversational AI experiences with Microsoft's bot ecosystem\n *\n * @example Basic WebChat Integration\n * ```typescript\n * import { CopilotStudioClient } from '@microsoft/agents-copilotstudio-client';\n * import { CopilotStudioWebChat } from '@microsoft/agents-copilotstudio-client';\n *\n * // Initialize the Copilot Studio client\n * const client = new CopilotStudioClient({\n * botId: 'your-bot-id',\n * tenantId: 'your-tenant-id'\n * });\n *\n * // Create a WebChat-compatible connection\n * const directLine = CopilotStudioWebChat.createConnection(client, {\n * showTyping: true\n * });\n *\n * // Integrate with WebChat\n * window.WebChat.renderWebChat({\n * directLine: directLine,\n * // ... other WebChat options\n * }, document.getElementById('webchat'));\n * ```\n *\n * @example Advanced Usage with Connection Monitoring\n * ```typescript\n * const connection = CopilotStudioWebChat.createConnection(client);\n *\n * // Monitor connection status\n * connection.connectionStatus$.subscribe(status => {\n * switch (status) {\n * case 0: console.log('Disconnected'); break;\n * case 1: console.log('Connecting...'); break;\n * case 2: console.log('Connected and ready'); break;\n * }\n * });\n *\n * // Listen for incoming activities\n * connection.activity$.subscribe(activity => {\n * console.log('Received activity:', activity);\n * });\n * ```\n */\nexport class CopilotStudioWebChat {\n /**\n * Creates a DirectLine-compatible connection for integrating Copilot Studio with WebChat.\n *\n\n * @param client - A configured CopilotStudioClient instance that handles the underlying\n * communication with the Copilot Studio service. This client should be\n * properly authenticated and configured with the target bot details.\n *\n * @param settings - Optional configuration settings that control the behavior of the\n * WebChat connection. These settings allow customization of features\n * like typing indicators and other user experience enhancements.\n *\n * @returns A new CopilotStudioWebChatConnection instance that can be passed directly\n * to WebChat's renderWebChat function as the directLine parameter. The\n * connection is immediately ready for use and will automatically manage\n * the conversation lifecycle.\n *\n * @throws Error if the provided client is not properly configured or if there are\n * issues establishing the initial connection to the Copilot Studio service.\n *\n * @remarks\n * This method establishes a real-time communication channel between WebChat and the\n * Copilot Studio service. The returned connection object implements the DirectLine\n * protocol, making it fully compatible with Microsoft Bot Framework WebChat components.\n *\n * ## Connection Lifecycle:\n * 1. **Initialization**: Creates observables for connection status and activity streaming\n * 2. **Conversation Start**: Automatically initiates conversation when first activity is posted\n * 3. **Message Flow**: Handles bidirectional message exchange with proper sequencing\n * 4. **Cleanup**: Provides graceful connection termination\n *\n * ## Message Processing:\n * - User messages are validated and sent to Copilot Studio\n * - Agent responses are received and formatted for WebChat\n * - All activities include timestamps and sequence IDs for proper ordering\n * - Optional typing indicators provide visual feedback during processing\n *\n * @example\n * ```typescript\n * const connection = CopilotStudioWebChat.createConnection(client, {\n * showTyping: true\n * });\n *\n * // Use with WebChat\n * window.WebChat.renderWebChat({\n * directLine: connection\n * }, document.getElementById('webchat'));\n * ```\n */\n static createConnection (\n client: CopilotStudioClient,\n settings?: CopilotStudioWebChatSettings\n ):CopilotStudioWebChatConnection {\n logger.info('--> Creating connection between Copilot Studio and WebChat ...')\n let sequence = 0\n let activitySubscriber: Subscriber<Partial<Activity>> | undefined\n let conversation: ConversationAccount | undefined\n\n const connectionStatus$ = new BehaviorSubject(0)\n const activity$ = createObservable<Partial<Activity>>(async (subscriber) => {\n activitySubscriber = subscriber\n\n if (connectionStatus$.value < 2) {\n connectionStatus$.next(2)\n return\n }\n\n logger.debug('--> Connection established.')\n notifyTyping()\n const activity = await client.startConversationAsync()\n conversation = activity.conversation\n sequence = 0\n notifyActivity(activity)\n })\n\n const notifyActivity = (activity: Partial<Activity>) => {\n const newActivity = {\n ...activity,\n timestamp: new Date().toISOString(),\n channelData: {\n ...activity.channelData,\n 'webchat:sequence-id': sequence++,\n },\n }\n logger.debug(`Notify '${newActivity.type}' activity to WebChat:`, newActivity)\n activitySubscriber?.next(newActivity)\n }\n\n const notifyTyping = () => {\n if (!settings?.showTyping) {\n return\n }\n\n const from = conversation\n ? { id: conversation.id, name: conversation.name }\n : { id: 'agent', name: 'Agent' }\n notifyActivity({ type: 'typing', from })\n }\n\n return {\n connectionStatus$,\n activity$,\n postActivity (activity: Activity) {\n logger.info('--> Preparing to send activity to Copilot Studio ...')\n\n if (!activity) {\n throw new Error('Activity cannot be null.')\n }\n\n if (!activitySubscriber) {\n throw new Error('Activity subscriber is not initialized.')\n }\n\n return createObservable<string>(async (subscriber) => {\n try {\n const id = uuid()\n\n logger.info('--> Sending activity to Copilot Studio ...')\n\n notifyActivity({ ...activity, id })\n notifyTyping()\n\n const activities = await client.sendActivity(activity)\n\n for (const responseActivity of activities) {\n notifyActivity(responseActivity)\n }\n\n subscriber.next(id)\n subscriber.complete()\n logger.info('--> Activity received correctly from Copilot Studio.')\n } catch (error) {\n logger.error('Error sending Activity to Copilot Studio:', error)\n subscriber.error(error)\n }\n })\n },\n\n end () {\n logger.info('--> Ending connection between Copilot Studio and WebChat ...')\n connectionStatus$.complete()\n if (activitySubscriber) {\n activitySubscriber.complete()\n activitySubscriber = undefined\n }\n },\n }\n }\n}\n\n/**\n * Creates an RxJS Observable that wraps an asynchronous function execution.\n *\n * @typeParam T - The type of value that the observable will emit\n * @param fn - An asynchronous function that receives a Subscriber and performs\n * the desired async operation. The function should call subscriber.next()\n * with results and subscriber.complete() when finished.\n * @returns A new Observable that executes the provided function and emits its results\n *\n * @remarks\n * This utility function provides a clean way to convert async/await patterns\n * into Observable streams, enabling integration with reactive programming patterns\n * used throughout the WebChat connection implementation.\n *\n * The created Observable handles promise resolution and rejection automatically,\n * converting them to appropriate next/error signals for subscribers.\n *\n * @example\n * ```typescript\n * const dataObservable = createObservable<string>(async (subscriber) => {\n * try {\n * const result = await fetchData();\n * subscriber.next(result);\n * subscriber.complete();\n * } catch (error) {\n * subscriber.error(error);\n * }\n * });\n * ```\n */\nfunction createObservable<T> (fn: (subscriber: Subscriber<T>) => void): Observable<T> {\n return new Observable<T>((subscriber: Subscriber<T>) => {\n Promise.resolve(fn(subscriber)).catch((error) => subscriber.error(error))\n })\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["require_ms", "__commonJSMin", "exports", "module", "s", "m", "h", "d", "w", "y", "val", "options", "type", "parse", "fmtLong", "fmtShort", "str", "match", "n", "ms", "msAbs", "plural", "name", "isPlural", "require_common", "__commonJSMin", "exports", "module", "setup", "env", "createDebug", "coerce", "disable", "enable", "enabled", "destroy", "key", "selectColor", "namespace", "hash", "i", "prevTime", "enableOverride", "namespacesCache", "enabledCache", "debug", "args", "self", "curr", "ms", "index", "match", "format", "formatter", "val", "extend", "v", "delimiter", "newDebug", "namespaces", "split", "ns", "matchesTemplate", "search", "template", "searchIndex", "templateIndex", "starIndex", "matchIndex", "name", "skip", "require_browser", "__commonJSMin", "exports", "module", "formatArgs", "save", "load", "useColors", "localstorage", "warned", "m", "args", "c", "index", "lastC", "match", "namespaces", "r", "formatters", "v", "error", "exports", "debug", "debug_1", "__importDefault", "loggerLevels", "Logger", "namespace", "level", "logger", "message", "args", "require_util", "__commonJSMin", "exports", "util", "_", "assertIs", "_arg", "assertNever", "_x", "items", "obj", "item", "validKeys", "k", "filtered", "e", "object", "keys", "key", "arr", "checker", "val", "joinValues", "array", "separator", "value", "objectUtil", "first", "second", "getParsedType", "data", "require_ZodError", "__commonJSMin", "exports", "util_js_1", "quotelessJson", "obj", "ZodError", "_ZodError", "issues", "sub", "subs", "actualProto", "_mapper", "mapper", "issue", "fieldErrors", "processError", "error", "curr", "i", "el", "value", "formErrors", "firstEl", "require_en", "__commonJSMin", "exports", "ZodError_js_1", "util_js_1", "errorMap", "issue", "_ctx", "message", "require_errors", "__commonJSMin", "exports", "__importDefault", "mod", "setErrorMap", "getErrorMap", "en_js_1", "overrideErrorMap", "map", "require_parseUtil", "__commonJSMin", "exports", "__importDefault", "mod", "addIssueToContext", "errors_js_1", "en_js_1", "makeIssue", "params", "data", "path", "errorMaps", "issueData", "fullPath", "fullIssue", "errorMessage", "maps", "m", "map", "ctx", "overrideMap", "issue", "x", "ParseStatus", "_ParseStatus", "status", "results", "arrayValue", "s", "pairs", "syncPairs", "pair", "key", "value", "finalObject", "DIRTY", "OK", "isAborted", "isDirty", "isValid", "isAsync", "require_typeAliases", "__commonJSMin", "exports", "require_errorUtil", "__commonJSMin", "exports", "errorUtil", "message", "require_types", "__commonJSMin", "exports", "datetimeRegex", "custom", "ZodError_js_1", "errors_js_1", "errorUtil_js_1", "parseUtil_js_1", "util_js_1", "ParseInputLazyPath", "parent", "value", "path", "key", "handleResult", "ctx", "result", "error", "processCreateParams", "params", "errorMap", "invalid_type_error", "required_error", "description", "iss", "_a", "_b", "message", "ZodType", "input", "data", "err", "maybeAsyncResult", "check", "getIssueProperties", "val", "setError", "refinementData", "refinement", "ZodEffects", "ZodFirstPartyTypeKind", "def", "ZodOptional", "ZodNullable", "ZodArray", "ZodPromise", "option", "ZodUnion", "incoming", "ZodIntersection", "transform", "defaultValueFunc", "ZodDefault", "ZodBranded", "catchValueFunc", "ZodCatch", "This", "target", "ZodPipeline", "ZodReadonly", "cuidRegex", "cuid2Regex", "ulidRegex", "uuidRegex", "nanoidRegex", "jwtRegex", "durationRegex", "emailRegex", "_emojiRegex", "emojiRegex", "ipv4Regex", "ipv4CidrRegex", "ipv6Regex", "ipv6CidrRegex", "base64Regex", "base64urlRegex", "dateRegexSource", "dateRegex", "timeRegexSource", "args", "secondsRegexSource", "secondsQuantifier", "timeRegex", "regex", "opts", "isValidIP", "ip", "version", "isValidJWT", "jwt", "alg", "header", "base64", "decoded", "isValidCidr", "ZodString", "_ZodString", "status", "tooBig", "tooSmall", "validation", "options", "minLength", "maxLength", "len", "ch", "min", "max", "floatSafeRemainder", "step", "valDecCount", "stepDecCount", "decCount", "valInt", "stepInt", "ZodNumber", "_ZodNumber", "kind", "inclusive", "ZodBigInt", "_ZodBigInt", "ZodBoolean", "ZodDate", "_ZodDate", "minDate", "maxDate", "ZodSymbol", "ZodUndefined", "ZodNull", "ZodAny", "ZodUnknown", "ZodNever", "ZodVoid", "_ZodArray", "item", "i", "schema", "deepPartialify", "ZodObject", "newShape", "fieldSchema", "ZodTuple", "_ZodObject", "shape", "keys", "shapeKeys", "extraKeys", "pairs", "keyValidator", "unknownKeys", "catchall", "syncPairs", "pair", "issue", "_c", "_d", "defaultError", "augmentation", "merging", "index", "mask", "newField", "createZodEnum", "handleResults", "results", "unionErrors", "childCtx", "dirty", "issues", "types", "getDiscriminator", "type", "ZodLazy", "ZodLiteral", "ZodEnum", "ZodNativeEnum", "ZodDiscriminatedUnion", "_ZodDiscriminatedUnion", "discriminator", "discriminatorValue", "optionsMap", "discriminatorValues", "mergeValues", "a", "b", "aType", "bType", "bKeys", "sharedKeys", "newObj", "sharedValue", "newArray", "itemA", "itemB", "handleParsed", "parsedLeft", "parsedRight", "merged", "left", "right", "_ZodTuple", "items", "itemIndex", "x", "rest", "schemas", "ZodRecord", "_ZodRecord", "keyType", "valueType", "first", "second", "third", "ZodMap", "finalMap", "ZodSet", "_ZodSet", "finalizeSet", "elements", "parsedSet", "element", "minSize", "maxSize", "size", "ZodFunction", "_ZodFunction", "makeArgsIssue", "makeReturnsIssue", "returns", "fn", "me", "parsedArgs", "e", "parsedReturns", "returnType", "func", "getter", "values", "_ZodEnum", "expectedValues", "enumValues", "newDef", "opt", "nativeEnumValues", "promisified", "effect", "checkCtx", "arg", "processed", "executeRefinement", "acc", "inner", "base", "preprocess", "newCtx", "ZodNaN", "_ZodPipeline", "inResult", "freeze", "cleanParams", "p", "_params", "fatal", "r", "_fatal", "instanceOfType", "cls", "stringType", "numberType", "nanType", "bigIntType", "booleanType", "dateType", "symbolType", "undefinedType", "nullType", "anyType", "unknownType", "neverType", "voidType", "arrayType", "objectType", "strictObjectType", "unionType", "discriminatedUnionType", "intersectionType", "tupleType", "recordType", "mapType", "setType", "functionType", "lazyType", "literalType", "enumType", "nativeEnumType", "promiseType", "effectsType", "optionalType", "nullableType", "preprocessType", "pipelineType", "ostring", "onumber", "oboolean", "require_external", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__exportStar", "p", "require_zod", "__commonJSMin", "exports", "__createBinding", "o", "m", "k", "k2", "desc", "__setModuleDefault", "v", "__importStar", "mod", "result", "__exportStar", "p", "z", "zod_1", "ActionTypes", "exports", "zod_1", "SemanticActionStateTypes", "exports", "zod_1", "AttachmentLayoutTypes", "exports", "Channels", "exports", "zod_1", "EndOfConversationCodes", "exports", "zod_1", "RoleTypes", "exports", "addAIToActivity", "activity", "citations", "usageInfo", "aiEntity", "_a", "exports", "zod_1", "exports", "require_max", "__commonJSMin", "exports", "require_nil", "__commonJSMin", "exports", "require_regex", "__commonJSMin", "exports", "require_validate", "__commonJSMin", "exports", "regex_js_1", "validate", "uuid", "require_parse", "__commonJSMin", "exports", "validate_js_1", "parse", "uuid", "v", "require_stringify", "__commonJSMin", "exports", "validate_js_1", "byteToHex", "i", "unsafeStringify", "arr", "offset", "stringify", "uuid", "require_rng", "__commonJSMin", "exports", "getRandomValues", "rnds8", "rng", "require_v1", "__commonJSMin", "exports", "rng_js_1", "stringify_js_1", "_state", "v1", "options", "buf", "offset", "_a", "_b", "_c", "_d", "bytes", "isV6", "optionsKeys", "v1Bytes", "now", "rnds", "updateV1State", "state", "msecs", "nsecs", "clockseq", "node", "tl", "tmh", "n", "require_v1ToV6", "__commonJSMin", "exports", "parse_js_1", "stringify_js_1", "v1ToV6", "uuid", "v1Bytes", "v6Bytes", "_v1ToV6", "require_md5", "__commonJSMin", "exports", "md5", "bytes", "words", "uint8ToUint32", "md5Bytes", "wordsToMd5", "uint32ToUint8", "input", "i", "getOutputLength", "inputLength8", "x", "len", "xpad", "a", "b", "c", "d", "olda", "oldb", "oldc", "oldd", "md5ff", "md5gg", "md5hh", "md5ii", "safeAdd", "output", "y", "lsw", "bitRotateLeft", "num", "cnt", "md5cmn", "q", "s", "t", "require_v35", "__commonJSMin", "exports", "parse_js_1", "stringify_js_1", "stringToBytes", "str", "bytes", "i", "v35", "version", "hash", "value", "namespace", "buf", "offset", "valueBytes", "namespaceBytes", "require_v3", "__commonJSMin", "exports", "md5_js_1", "v35_js_1", "v35_js_2", "v3", "value", "namespace", "buf", "offset", "require_native", "__commonJSMin", "exports", "randomUUID", "require_v4", "__commonJSMin", "exports", "native_js_1", "rng_js_1", "stringify_js_1", "v4", "options", "buf", "offset", "_a", "_b", "_c", "rnds", "i", "require_sha1", "__commonJSMin", "exports", "f", "s", "x", "y", "z", "ROTL", "n", "sha1", "bytes", "K", "H", "newBytes", "l", "N", "M", "i", "arr", "j", "W", "t", "a", "b", "c", "d", "e", "T", "require_v5", "__commonJSMin", "exports", "sha1_js_1", "v35_js_1", "v35_js_2", "v5", "value", "namespace", "buf", "offset", "require_v6", "__commonJSMin", "exports", "stringify_js_1", "v1_js_1", "v1ToV6_js_1", "v6", "options", "buf", "offset", "bytes", "i", "require_v6ToV1", "__commonJSMin", "exports", "parse_js_1", "stringify_js_1", "v6ToV1", "uuid", "v6Bytes", "v1Bytes", "_v6ToV1", "require_v7", "__commonJSMin", "exports", "rng_js_1", "stringify_js_1", "_state", "v7", "options", "buf", "offset", "_a", "_b", "_c", "bytes", "v7Bytes", "now", "rnds", "updateV7State", "state", "msecs", "seq", "require_version", "__commonJSMin", "exports", "validate_js_1", "version", "uuid", "require_cjs_browser", "__commonJSMin", "exports", "max_js_1", "nil_js_1", "parse_js_1", "stringify_js_1", "v1_js_1", "v1ToV6_js_1", "v3_js_1", "v4_js_1", "v5_js_1", "v6_js_1", "v6ToV1_js_1", "v7_js_1", "validate_js_1", "version_js_1", "zod_1", "exports", "zod_1", "entity_1", "semanticActionStateTypes_1", "exports", "zod_1", "actionTypes_1", "exports", "zod_1", "cardAction_1", "exports", "zod_1", "ActivityEventNames", "exports", "zod_1", "ActivityImportance", "exports", "zod_1", "ActivityTypes", "exports", "zod_1", "exports", "zod_1", "roleTypes_1", "exports", "zod_1", "roleTypes_1", "exports", "zod_1", "channelAccount_1", "conversationAccount_1", "exports", "zod_1", "DeliveryModes", "exports", "zod_1", "InputHints", "exports", "zod_1", "MessageReactionTypes", "exports", "zod_1", "messageReactionTypes_1", "exports", "zod_1", "TextFormatTypes", "exports", "zod_1", "exports", "uuid_1", "zod_1", "semanticAction_1", "suggestedActions_1", "activityEventNames_1", "activityImportance_1", "activityTypes_1", "attachment_1", "attachmentLayoutTypes_1", "channelAccount_1", "channels_1", "conversationAccount_1", "conversationReference_1", "endOfConversationCodes_1", "deliveryModes_1", "entity_1", "inputHints_1", "messageReaction_1", "textFormatTypes_1", "textHighlight_1", "exports", "s", "Activity", "_Activity", "t", "json", "o", "parsedActivity", "activity", "reference", "continuationActivityObj", "isIncoming", "_a", "_b", "_c", "activityCopy", "key", "result", "i", "removeMention", "entity", "mentions", "mention", "text", "foundTag", "iAtStart", "iAtEnd", "iAtClose", "followingText", "tagContent", "prefixText", "id", "mentionsFiltered", "replyId", "exports", "zod_1", "ActivityTreatments", "exports", "actionTypes_1", "exports", "semanticActionStateTypes_1", "attachmentLayoutTypes_1", "channels_1", "endOfConversationCodes_1", "roleTypes_1", "__exportStar", "activity_1", "activityEventNames_1", "activityImportance_1", "activityTypes_1", "callerIdConstants_1", "deliveryModes_1", "inputHints_1", "messageReactionTypes_1", "textFormatTypes_1", "activityTreatments_1", "logger_1", "AgentType", "PowerPlatformCloud", "ConnectionOptions", "ConnectionSettings", "options", "_a", "_b", "cloud", "copilotAgentType", "authority", "PowerPlatformCloud", "AgentType", "loadCopilotStudioConnectionSettingsFromEnv", "_c", "_d", "_e", "_f", "bind", "fn", "thisArg", "toString", "getPrototypeOf", "iterator", "toStringTag", "kindOf", "cache", "thing", "str", "kindOfTest", "type", "typeOfTest", "isArray", "isUndefined", "isBuffer", "val", "isFunction", "isArrayBuffer", "isArrayBufferView", "result", "isString", "isNumber", "isObject", "isBoolean", "isPlainObject", "prototype", "isEmptyObject", "isDate", "isFile", "isBlob", "isFileList", "isStream", "isFormData", "kind", "isURLSearchParams", "isReadableStream", "isRequest", "isResponse", "isHeaders", "trim", "forEach", "obj", "fn", "allOwnKeys", "i", "l", "keys", "len", "key", "findKey", "_key", "_global", "isContextDefined", "context", "merge", "caseless", "assignValue", "targetKey", "extend", "a", "b", "thisArg", "bind", "stripBOM", "content", "inherits", "constructor", "superConstructor", "props", "descriptors", "toFlatObject", "sourceObj", "destObj", "filter", "propFilter", "prop", "merged", "endsWith", "searchString", "position", "lastIndex", "toArray", "arr", "isTypedArray", "TypedArray", "forEachEntry", "_iterator", "pair", "matchAll", "regExp", "matches", "isHTMLForm", "toCamelCase", "m", "p1", "p2", "hasOwnProperty", "isRegExp", "reduceDescriptors", "reducer", "reducedDescriptors", "descriptor", "name", "ret", "freezeMethods", "value", "toObjectSet", "arrayOrString", "delimiter", "define", "noop", "toFiniteNumber", "defaultValue", "isSpecCompliantForm", "toJSONObject", "stack", "visit", "source", "target", "reducedValue", "isAsyncFn", "isThenable", "_setImmediate", "setImmediateSupported", "postMessageSupported", "token", "callbacks", "data", "cb", "asap", "isIterable", "utils_default", "AxiosError", "message", "code", "config", "request", "response", "utils_default", "prototype", "descriptors", "error", "customProps", "axiosError", "obj", "prop", "AxiosError_default", "null_default", "isVisitable", "thing", "utils_default", "removeBrackets", "key", "renderKey", "path", "dots", "token", "isFlatArray", "arr", "predicates", "prop", "toFormData", "obj", "formData", "options", "null_default", "option", "source", "metaTokens", "visitor", "defaultVisitor", "indexes", "useBlob", "convertValue", "value", "AxiosError_default", "el", "index", "stack", "exposedHelpers", "build", "toFormData_default", "encode", "str", "charMap", "match", "AxiosURLSearchParams", "params", "options", "toFormData_default", "prototype", "name", "value", "encoder", "_encode", "pair", "AxiosURLSearchParams_default", "encode", "val", "buildURL", "url", "params", "options", "_encode", "utils_default", "serializeFn", "serializedParams", "AxiosURLSearchParams_default", "hashmarkIndex", "InterceptorManager", "fulfilled", "rejected", "options", "id", "fn", "utils_default", "h", "InterceptorManager_default", "transitional_default", "URLSearchParams_default", "AxiosURLSearchParams_default", "FormData_default", "Blob_default", "browser_default", "URLSearchParams_default", "FormData_default", "Blob_default", "utils_exports", "__export", "hasBrowserEnv", "hasStandardBrowserEnv", "hasStandardBrowserWebWorkerEnv", "_navigator", "origin", "platform_default", "utils_exports", "browser_default", "toURLEncodedForm", "data", "options", "toFormData_default", "platform_default", "value", "key", "path", "helpers", "utils_default", "parsePropPath", "name", "utils_default", "match", "arrayToObject", "arr", "obj", "keys", "i", "len", "key", "formDataToJSON", "formData", "buildPath", "path", "value", "target", "index", "isNumericKey", "isLast", "formDataToJSON_default", "stringifySafely", "rawValue", "parser", "encoder", "utils_default", "e", "defaults", "transitional_default", "data", "headers", "contentType", "hasJSONContentType", "isObjectPayload", "formDataToJSON_default", "isFileList", "toURLEncodedForm", "_FormData", "toFormData_default", "transitional", "forcedJSONParsing", "JSONRequested", "strictJSONParsing", "AxiosError_default", "platform_default", "status", "method", "defaults_default", "ignoreDuplicateOf", "utils_default", "parseHeaders_default", "rawHeaders", "parsed", "key", "val", "i", "line", "$internals", "normalizeHeader", "header", "normalizeValue", "value", "utils_default", "parseTokens", "str", "tokens", "tokensRE", "match", "isValidHeaderName", "matchHeaderValue", "context", "filter", "isHeaderNameFilter", "formatHeader", "w", "char", "buildAccessors", "obj", "accessorName", "methodName", "arg1", "arg2", "arg3", "AxiosHeaders", "headers", "valueOrRewrite", "rewrite", "self", "setHeader", "_value", "_header", "_rewrite", "lHeader", "key", "setHeaders", "parseHeaders_default", "dest", "entry", "parser", "matcher", "deleted", "deleteHeader", "keys", "i", "format", "normalized", "targets", "asStrings", "thing", "first", "computed", "target", "accessors", "prototype", "defineAccessor", "mapped", "headerValue", "AxiosHeaders_default", "transformData", "fns", "response", "config", "defaults_default", "context", "headers", "AxiosHeaders_default", "data", "utils_default", "fn", "isCancel", "value", "CanceledError", "message", "config", "request", "AxiosError_default", "utils_default", "CanceledError_default", "settle", "resolve", "reject", "response", "validateStatus", "AxiosError_default", "parseProtocol", "url", "match", "speedometer", "samplesCount", "min", "bytes", "timestamps", "head", "tail", "firstSampleTS", "chunkLength", "now", "startedAt", "i", "bytesCount", "passed", "speedometer_default", "throttle", "fn", "freq", "timestamp", "threshold", "lastArgs", "timer", "invoke", "args", "now", "passed", "throttle_default", "progressEventReducer", "listener", "isDownloadStream", "freq", "bytesNotified", "_speedometer", "speedometer_default", "throttle_default", "e", "loaded", "total", "progressBytes", "rate", "inRange", "data", "progressEventDecorator", "throttled", "lengthComputable", "asyncDecorator", "fn", "args", "utils_default", "isURLSameOrigin_default", "platform_default", "origin", "isMSIE", "url", "cookies_default", "platform_default", "name", "value", "expires", "path", "domain", "secure", "cookie", "utils_default", "match", "isAbsoluteURL", "url", "combineURLs", "baseURL", "relativeURL", "buildFullPath", "baseURL", "requestedURL", "allowAbsoluteUrls", "isRelativeUrl", "isAbsoluteURL", "combineURLs", "headersToObject", "thing", "AxiosHeaders_default", "mergeConfig", "config1", "config2", "config", "getMergedValue", "target", "source", "prop", "caseless", "utils_default", "mergeDeepProperties", "a", "b", "valueFromConfig2", "defaultToConfig2", "mergeDirectKeys", "mergeMap", "merge", "configValue", "resolveConfig_default", "config", "newConfig", "mergeConfig", "data", "withXSRFToken", "xsrfHeaderName", "xsrfCookieName", "headers", "auth", "AxiosHeaders_default", "buildURL", "buildFullPath", "contentType", "utils_default", "platform_default", "type", "tokens", "token", "isURLSameOrigin_default", "xsrfValue", "cookies_default", "isXHRAdapterSupported", "xhr_default", "config", "resolve", "reject", "_config", "resolveConfig_default", "requestData", "requestHeaders", "AxiosHeaders_default", "responseType", "onUploadProgress", "onDownloadProgress", "onCanceled", "uploadThrottled", "downloadThrottled", "flushUpload", "flushDownload", "done", "request", "onloadend", "responseHeaders", "response", "settle", "value", "err", "AxiosError_default", "timeoutErrorMessage", "transitional", "transitional_default", "utils_default", "val", "key", "progressEventReducer", "cancel", "CanceledError_default", "protocol", "parseProtocol", "platform_default", "composeSignals", "signals", "timeout", "length", "controller", "aborted", "onabort", "reason", "unsubscribe", "err", "AxiosError_default", "CanceledError_default", "timer", "signal", "utils_default", "composeSignals_default", "streamChunk", "chunk", "chunkSize", "len", "pos", "end", "readBytes", "iterable", "readStream", "stream", "reader", "done", "value", "trackStream", "onProgress", "onFinish", "iterator", "bytes", "_onFinish", "e", "controller", "loadedBytes", "err", "reason", "isFetchSupported", "isReadableStreamSupported", "encodeText", "encoder", "str", "test", "fn", "args", "supportsRequestStream", "duplexAccessed", "hasContentType", "platform_default", "DEFAULT_CHUNK_SIZE", "supportsResponseStream", "utils_default", "resolvers", "res", "type", "_", "config", "AxiosError_default", "getBodyLength", "body", "resolveBodyLength", "headers", "length", "fetch_default", "url", "method", "data", "signal", "cancelToken", "timeout", "onDownloadProgress", "onUploadProgress", "responseType", "withCredentials", "fetchOptions", "resolveConfig_default", "composedSignal", "composeSignals_default", "request", "unsubscribe", "requestContentLength", "_request", "contentTypeHeader", "onProgress", "flush", "progressEventDecorator", "progressEventReducer", "asyncDecorator", "trackStream", "isCredentialsSupported", "response", "isStreamResponse", "options", "prop", "responseContentLength", "responseData", "resolve", "reject", "settle", "AxiosHeaders_default", "err", "knownAdapters", "null_default", "xhr_default", "fetch_default", "utils_default", "fn", "value", "renderReason", "reason", "isResolvedHandle", "adapter", "adapters_default", "adapters", "length", "nameOrAdapter", "rejectedReasons", "id", "AxiosError_default", "reasons", "state", "throwIfCancellationRequested", "config", "CanceledError_default", "dispatchRequest", "AxiosHeaders_default", "transformData", "adapters_default", "defaults_default", "response", "reason", "isCancel", "VERSION", "validators", "type", "i", "thing", "deprecatedWarnings", "validator", "version", "message", "formatMessage", "opt", "desc", "VERSION", "value", "opts", "AxiosError_default", "correctSpelling", "assertOptions", "options", "schema", "allowUnknown", "keys", "result", "validator_default", "validators", "validator_default", "Axios", "instanceConfig", "InterceptorManager_default", "configOrUrl", "config", "err", "dummy", "stack", "mergeConfig", "transitional", "paramsSerializer", "headers", "utils_default", "contextHeaders", "method", "AxiosHeaders_default", "requestInterceptorChain", "synchronousRequestInterceptors", "interceptor", "responseInterceptorChain", "promise", "i", "len", "chain", "dispatchRequest", "newConfig", "onFulfilled", "onRejected", "error", "fullPath", "buildFullPath", "buildURL", "url", "generateHTTPMethod", "isForm", "data", "Axios_default", "CancelToken", "_CancelToken", "executor", "resolvePromise", "resolve", "token", "cancel", "onfulfilled", "_resolve", "promise", "message", "config", "request", "CanceledError_default", "listener", "index", "controller", "abort", "err", "c", "CancelToken_default", "spread", "callback", "arr", "isAxiosError", "payload", "utils_default", "HttpStatusCode", "key", "value", "HttpStatusCode_default", "createInstance", "defaultConfig", "context", "Axios_default", "instance", "bind", "utils_default", "instanceConfig", "mergeConfig", "axios", "defaults_default", "CanceledError_default", "CancelToken_default", "isCancel", "VERSION", "toFormData_default", "AxiosError_default", "promises", "spread", "isAxiosError", "AxiosHeaders_default", "thing", "formDataToJSON_default", "adapters_default", "HttpStatusCode_default", "axios_default", "Axios", "AxiosError", "CanceledError", "isCancel", "CancelToken", "VERSION", "all", "Cancel", "isAxiosError", "spread", "toFormData", "AxiosHeaders", "HttpStatusCode", "formToJSON", "getAdapter", "mergeConfig", "axios_default", "import_logger", "PrebuiltBotStrategy", "settings", "identifier", "host", "conversationId", "conversationUrl", "PublishedBotStrategy", "settings", "schema", "host", "conversationId", "conversationUrl", "logger", "getCopilotStudioConnectionUrl", "settings", "conversationId", "_a", "_b", "_c", "_d", "_e", "_f", "isValidUri", "createURL", "cloudSetting", "agentType", "host", "getEnvironmentEndpoint", "url", "PublishedBotStrategy", "PrebuiltBotStrategy", "getTokenAudience", "cloud", "cloudBaseAddress", "directConnectUrl", "getEndpointSuffix", "decodeCloudFromURI", "cloudToTest", "uri", "absoluteUrl", "base", "environmentId", "normalizedResourceId", "idSuffixLength", "getIdSuffixLength", "hexPrefix", "hexSuffix", "category", "import_agents_activity", "ExecuteTurnRequest", "activity", "import_logger", "version", "os_default", "logger", "_CopilotStudioClient", "settings", "token", "axios_default", "axiosConfig", "_a", "_b", "_c", "_d", "activities", "response", "islandExperimentalUrl", "sanitizedHeaders", "reader", "result", "results", "processEvents", "done", "value", "event", "e", "ve", "act", "versionString", "version", "userAgent", "os_default", "emitStartConversationEvent", "config", "getCopilotStudioConnectionUrl", "values", "question", "conversationId", "activityObj", "activity", "localConversationId", "uriExecute", "qbody", "ExecuteTurnRequest", "getTokenAudience", "CopilotStudioClient", "byteToHex", "i", "unsafeStringify", "arr", "offset", "getRandomValues", "rnds8", "rng", "randomUUID", "native_default", "v4", "options", "buf", "offset", "_a", "_b", "_c", "native_default", "rnds", "rng", "i", "unsafeStringify", "v4_default", "extendStatics", "d", "b", "p", "__extends", "__", "__values", "o", "s", "m", "i", "__read", "n", "r", "ar", "e", "error", "__spreadArray", "to", "from", "pack", "i", "l", "ar", "isFunction", "value", "createErrorClass", "createImpl", "_super", "instance", "ctorFunc", "UnsubscriptionError", "createErrorClass", "_super", "errors", "err", "i", "arrRemove", "arr", "item", "index", "Subscription", "initialTeardown", "errors", "_parentage", "_parentage_1", "__values", "_parentage_1_1", "parent_1", "initialFinalizer", "isFunction", "e", "UnsubscriptionError", "_finalizers", "_finalizers_1", "_finalizers_1_1", "finalizer", "execFinalizer", "err", "__spreadArray", "__read", "teardown", "_a", "parent", "arrRemove", "empty", "EMPTY_SUBSCRIPTION", "Subscription", "isSubscription", "value", "isFunction", "execFinalizer", "finalizer", "config", "timeoutProvider", "handler", "timeout", "args", "_i", "delegate", "__spreadArray", "__read", "handle", "reportUnhandledError", "err", "timeoutProvider", "onUnhandledError", "config", "noop", "COMPLETE_NOTIFICATION", "createNotification", "errorNotification", "error", "nextNotification", "value", "kind", "context", "errorContext", "cb", "config", "isRoot", "_a", "errorThrown", "error", "captureError", "err", "Subscriber", "_super", "__extends", "destination", "_this", "isSubscription", "EMPTY_OBSERVER", "next", "error", "complete", "SafeSubscriber", "value", "handleStoppedNotification", "nextNotification", "err", "errorNotification", "COMPLETE_NOTIFICATION", "Subscription", "_bind", "bind", "fn", "thisArg", "ConsumerObserver", "partialObserver", "value", "error", "handleUnhandledError", "err", "SafeSubscriber", "_super", "__extends", "observerOrNext", "complete", "_this", "isFunction", "context_1", "config", "Subscriber", "handleUnhandledError", "error", "config", "captureError", "reportUnhandledError", "defaultErrorHandler", "err", "handleStoppedNotification", "notification", "subscriber", "onStoppedNotification", "timeoutProvider", "EMPTY_OBSERVER", "noop", "observable", "identity", "x", "pipeFromArray", "fns", "identity", "input", "prev", "fn", "Observable", "subscribe", "operator", "observable", "observerOrNext", "error", "complete", "_this", "subscriber", "isSubscriber", "SafeSubscriber", "errorContext", "_a", "source", "sink", "err", "next", "promiseCtor", "getPromiseCtor", "resolve", "reject", "value", "operations", "_i", "pipeFromArray", "x", "getPromiseCtor", "promiseCtor", "_a", "config", "isObserver", "value", "isFunction", "isSubscriber", "Subscriber", "isSubscription", "ObjectUnsubscribedError", "createErrorClass", "_super", "Subject", "_super", "__extends", "_this", "operator", "subject", "AnonymousSubject", "ObjectUnsubscribedError", "value", "errorContext", "_b", "__values", "_c", "observer", "err", "observers", "_a", "subscriber", "hasError", "isStopped", "EMPTY_SUBSCRIPTION", "Subscription", "arrRemove", "thrownError", "observable", "Observable", "destination", "source", "AnonymousSubject", "_super", "__extends", "destination", "source", "_this", "value", "_b", "_a", "err", "subscriber", "EMPTY_SUBSCRIPTION", "Subject", "BehaviorSubject", "_super", "__extends", "_value", "_this", "subscriber", "subscription", "_a", "hasError", "thrownError", "value", "Subject", "import_logger", "logger", "CopilotStudioWebChat", "client", "settings", "sequence", "activitySubscriber", "conversation", "connectionStatus$", "BehaviorSubject", "activity$", "createObservable", "subscriber", "notifyTyping", "activity", "notifyActivity", "newActivity", "from", "id", "v4_default", "activities", "responseActivity", "error", "fn", "Observable"]
|
|
7
7
|
}
|