obi-sdk 0.1.3 → 0.1.4
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/README.md +41 -0
- package/dist/index-e52b38be.js +5223 -0
- package/dist/modular/chunks/assistant-5a47c1b4.js +234 -0
- package/dist/modular/chunks/assistant-5a47c1b4.js.map +1 -0
- package/dist/modular/chunks/mitt-3c1f932d.js +20 -0
- package/dist/modular/chunks/mitt-3c1f932d.js.map +1 -0
- package/dist/modular/chunks/{obi-widget-9c0306f4.js → obi-widget-0d63936f.js} +4561 -4561
- package/dist/modular/chunks/obi-widget-0d63936f.js.map +1 -0
- package/dist/modular/chunks/{session-37970ed1.js → session-88fd0dca.js} +18 -39
- package/dist/modular/chunks/session-88fd0dca.js.map +1 -0
- package/dist/modular/core.js +11 -238
- package/dist/modular/core.js.map +1 -1
- package/dist/modular/index.js +78 -403
- package/dist/modular/index.js.map +1 -1
- package/dist/modular/ui.js +16 -16
- package/dist/obi-sdk.es.js +8 -22754
- package/dist/obi-sdk.standalone.iife.js +40 -172
- package/dist/obi-sdk.standalone.iife.js.map +1 -1
- package/dist/obi-sdk.umd.js +89 -259
- package/dist/session-33b71dff.js +15762 -0
- package/package.json +2 -2
- package/dist/modular/chunks/obi-widget-9c0306f4.js.map +0 -1
- package/dist/modular/chunks/session-37970ed1.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"obi-widget-9c0306f4.js","sources":["../../../node_modules/zod/lib/index.mjs","../../../src/core/types.ts","../../../node_modules/ts-pattern/dist/index.js","../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-element/lit-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/state.js","../../../src/ui/components/nav-icon.ts","../../../src/ui/components/icons.ts","../../../src/ui/components/navigation-bar.ts","../../../src/ui/components/courses/courses.ts","../../../src/ui/components/courses/course-modal.ts","../../../node_modules/lit-html/directive-helpers.js","../../../node_modules/lit-html/directive.js","../../../node_modules/lit-html/async-directive.js","../../../node_modules/lit-html/directives/ref.js","../../../src/ui/components/audio-equalizer.ts","../../../src/ui/components/dot-loader.ts","../../../src/ui/components/searching-loader.ts","../../../src/ui/components/obi-widget.ts"],"sourcesContent":["var util;\n(function (util) {\n util.assertEqual = (val) => val;\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\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .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 || (util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nconst 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 ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n\nconst ZodIssueCode = 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};\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.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 fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].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}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case 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.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 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\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case 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\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `smaller than or equal to`\n : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\n\nlet overrideErrorMap = errorMap;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n\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};\nconst EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const overrideMap = getErrorMap();\n const issue = 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 === errorMap ? undefined : errorMap, // 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 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 INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" &&\n (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nconst INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nconst OK = (value) => ({ status: \"valid\", value });\nconst isAborted = (x) => x.status === \"aborted\";\nconst isDirty = (x) => x.status === \"dirty\";\nconst isValid = (x) => x.status === \"valid\";\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil || (errorUtil = {}));\n\nvar _ZodEnum_cache, _ZodNativeEnum_cache;\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 (this._key instanceof Array) {\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 (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(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 var _a, _b;\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message !== null && message !== void 0 ? message : ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: (_a = message !== null && message !== void 0 ? message : required_error) !== null && _a !== void 0 ? _a : ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: (_b = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b !== void 0 ? _b : 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 getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: 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 ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: 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 (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 var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n var _a, _b;\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: getParsedType(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if ((_b = (_a = err === null || err === void 0 ? void 0 : err.message) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.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) => 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 === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult)\n ? maybeAsyncResult\n : 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: 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\"\n ? refinementData(val, ctx)\n : 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}\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.!#$%&’*+/=?^_`{|}~-]+@[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 regex = `\\\\d{2}:\\\\d{2}:\\\\d{2}`;\n let regex = `([01]\\\\d|2[0-3]):[0-5]\\\\d:[0-5]\\\\d`;\n if (args.precision) {\n regex = `${regex}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n regex = `${regex}(\\\\.\\\\d+)?`;\n }\n return regex;\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 // 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 (!decoded.typ || !decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch (_a) {\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 !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const status = new 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n validation: \"email\",\n code: 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 addIssueToContext(ctx, {\n validation: \"emoji\",\n code: 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 addIssueToContext(ctx, {\n validation: \"uuid\",\n code: 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 addIssueToContext(ctx, {\n validation: \"nanoid\",\n code: 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 addIssueToContext(ctx, {\n validation: \"cuid\",\n code: 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 addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: 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 addIssueToContext(ctx, {\n validation: \"ulid\",\n code: 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 (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: 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 addIssueToContext(ctx, {\n validation: \"regex\",\n code: 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n validation: \"duration\",\n code: 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 addIssueToContext(ctx, {\n validation: \"ip\",\n code: 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 addIssueToContext(ctx, {\n validation: \"jwt\",\n code: 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 addIssueToContext(ctx, {\n validation: \"cidr\",\n code: 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 addIssueToContext(ctx, {\n validation: \"base64\",\n code: 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 addIssueToContext(ctx, {\n validation: \"base64url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n 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: ZodIssueCode.invalid_string,\n ...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.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...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.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n var _a, _b;\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 === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n local: (_b = options === null || options === void 0 ? void 0 : options.local) !== null && _b !== void 0 ? _b : false,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : 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 === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options === null || options === void 0 ? void 0 : options.position,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(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}\nZodString.create = (params) => {\n var _a;\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : 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 = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(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 !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: 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\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: 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\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n 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.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, 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.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.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: 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.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: 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\" ||\n (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null, min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" ||\n ch.kind === \"int\" ||\n 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}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: (params === null || params === void 0 ? void 0 : 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 (_a) {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: 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\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, 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.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.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: 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.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: 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}\nZodBigInt.create = (params) => {\n var _a;\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : 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 !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: (params === null || params === void 0 ? void 0 : 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 !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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.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.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: 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}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: (params === null || params === void 0 ? void 0 : 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 !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\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 !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\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 !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\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 OK(input.data);\n }\n}\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 OK(input.data);\n }\n}\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 addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\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 !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\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 !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return 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 addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : 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 addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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 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 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.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\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.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return 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 &&\n 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 addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") ;\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 ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : 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 util.objectKeys(mask).forEach((key) => {\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 util.objectKeys(this.shape).forEach((key) => {\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 util.objectKeys(this.shape).forEach((key) => {\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 util.objectKeys(this.shape).forEach((key) => {\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.objectKeys(this.shape));\n }\n}\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(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return 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(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\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.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 !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return 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}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util\n .objectKeys(a)\n .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 === ZodParsedType.array && bType === 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 === ZodParsedType.date &&\n bType === ZodParsedType.date &&\n +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 (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || 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}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: 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 ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return 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}\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 !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return 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 ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return 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}\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 !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return 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 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 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}\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 !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: 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 addIssueToContext(ctx, {\n code: 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 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.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: 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}\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 !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: 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 OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args\n .parseAsync(args, params)\n .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 OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new 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([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\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\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}\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 addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\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 constructor() {\n super(...arguments);\n _ZodEnum_cache.set(this, void 0);\n }\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!__classPrivateFieldGet(this, _ZodEnum_cache, \"f\")) {\n __classPrivateFieldSet(this, _ZodEnum_cache, new Set(this._def.values), \"f\");\n }\n if (!__classPrivateFieldGet(this, _ZodEnum_cache, \"f\").has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return 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}\n_ZodEnum_cache = new WeakMap();\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n constructor() {\n super(...arguments);\n _ZodNativeEnum_cache.set(this, void 0);\n }\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string &&\n ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, \"f\")) {\n __classPrivateFieldSet(this, _ZodNativeEnum_cache, new Set(util.getValidEnumValues(this._def.values)), \"f\");\n }\n if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, \"f\").has(input.data)) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\n_ZodNativeEnum_cache = new WeakMap();\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 !== ZodParsedType.promise &&\n ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\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 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 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 INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return 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 INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return 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 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\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return 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 (!isValid(base))\n return base;\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\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!isValid(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\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 === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\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 === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\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 === 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}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\"\n ? params.default\n : () => 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 (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(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(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\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 !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nconst 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}\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 INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return 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 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}\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if (isValid(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return isAsync(result)\n ? result.then((data) => freeze(data))\n : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\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\"\n ? params(data)\n : typeof params === \"string\"\n ? { message: params }\n : 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 var _a, _b;\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n var _a, _b;\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = (_b = (_a = params.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = (_b = (_a = params.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nconst 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 || (ZodFirstPartyTypeKind = {}));\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);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nconst 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};\nconst NEVER = INVALID;\n\nvar z = /*#__PURE__*/Object.freeze({\n __proto__: null,\n defaultErrorMap: errorMap,\n setErrorMap: setErrorMap,\n getErrorMap: getErrorMap,\n makeIssue: makeIssue,\n EMPTY_PATH: EMPTY_PATH,\n addIssueToContext: addIssueToContext,\n ParseStatus: ParseStatus,\n INVALID: INVALID,\n DIRTY: DIRTY,\n OK: OK,\n isAborted: isAborted,\n isDirty: isDirty,\n isValid: isValid,\n isAsync: isAsync,\n get util () { return util; },\n get objectUtil () { return objectUtil; },\n ZodParsedType: ZodParsedType,\n getParsedType: getParsedType,\n ZodType: ZodType,\n datetimeRegex: datetimeRegex,\n ZodString: ZodString,\n ZodNumber: ZodNumber,\n ZodBigInt: ZodBigInt,\n ZodBoolean: ZodBoolean,\n ZodDate: ZodDate,\n ZodSymbol: ZodSymbol,\n ZodUndefined: ZodUndefined,\n ZodNull: ZodNull,\n ZodAny: ZodAny,\n ZodUnknown: ZodUnknown,\n ZodNever: ZodNever,\n ZodVoid: ZodVoid,\n ZodArray: ZodArray,\n ZodObject: ZodObject,\n ZodUnion: ZodUnion,\n ZodDiscriminatedUnion: ZodDiscriminatedUnion,\n ZodIntersection: ZodIntersection,\n ZodTuple: ZodTuple,\n ZodRecord: ZodRecord,\n ZodMap: ZodMap,\n ZodSet: ZodSet,\n ZodFunction: ZodFunction,\n ZodLazy: ZodLazy,\n ZodLiteral: ZodLiteral,\n ZodEnum: ZodEnum,\n ZodNativeEnum: ZodNativeEnum,\n ZodPromise: ZodPromise,\n ZodEffects: ZodEffects,\n ZodTransformer: ZodEffects,\n ZodOptional: ZodOptional,\n ZodNullable: ZodNullable,\n ZodDefault: ZodDefault,\n ZodCatch: ZodCatch,\n ZodNaN: ZodNaN,\n BRAND: BRAND,\n ZodBranded: ZodBranded,\n ZodPipeline: ZodPipeline,\n ZodReadonly: ZodReadonly,\n custom: custom,\n Schema: ZodType,\n ZodSchema: ZodType,\n late: late,\n get ZodFirstPartyTypeKind () { return ZodFirstPartyTypeKind; },\n coerce: coerce,\n any: anyType,\n array: arrayType,\n bigint: bigIntType,\n boolean: booleanType,\n date: dateType,\n discriminatedUnion: discriminatedUnionType,\n effect: effectsType,\n 'enum': enumType,\n 'function': functionType,\n 'instanceof': instanceOfType,\n intersection: intersectionType,\n lazy: lazyType,\n literal: literalType,\n map: mapType,\n nan: nanType,\n nativeEnum: nativeEnumType,\n never: neverType,\n 'null': nullType,\n nullable: nullableType,\n number: numberType,\n object: objectType,\n oboolean: oboolean,\n onumber: onumber,\n optional: optionalType,\n ostring: ostring,\n pipeline: pipelineType,\n preprocess: preprocessType,\n promise: promiseType,\n record: recordType,\n set: setType,\n strictObject: strictObjectType,\n string: stringType,\n symbol: symbolType,\n transformer: effectsType,\n tuple: tupleType,\n 'undefined': undefinedType,\n union: unionType,\n unknown: unknownType,\n 'void': voidType,\n NEVER: NEVER,\n ZodIssueCode: ZodIssueCode,\n quotelessJson: quotelessJson,\n ZodError: ZodError\n});\n\nexport { BRAND, DIRTY, EMPTY_PATH, INVALID, NEVER, OK, ParseStatus, ZodType as Schema, ZodAny, ZodArray, ZodBigInt, ZodBoolean, ZodBranded, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodError, ZodFirstPartyTypeKind, ZodFunction, ZodIntersection, ZodIssueCode, ZodLazy, ZodLiteral, ZodMap, ZodNaN, ZodNativeEnum, ZodNever, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodParsedType, ZodPipeline, ZodPromise, ZodReadonly, ZodRecord, ZodType as ZodSchema, ZodSet, ZodString, ZodSymbol, ZodEffects as ZodTransformer, ZodTuple, ZodType, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, addIssueToContext, anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, coerce, custom, dateType as date, datetimeRegex, z as default, errorMap as defaultErrorMap, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, getErrorMap, getParsedType, instanceOfType as instanceof, intersectionType as intersection, isAborted, isAsync, isDirty, isValid, late, lazyType as lazy, literalType as literal, makeIssue, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, objectUtil, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, quotelessJson, recordType as record, setType as set, setErrorMap, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, util, voidType as void, z };\n","import { z } from \"zod\"\n\n// API Base URL constant\nexport const API_BASE_URL = \"https://iamobi.ai/api\"\n\n// Core SDK configuration schema\nexport const ObiSDKConfigSchema = z.object({\n apiKey: z.string().optional(),\n enableVoice: z.boolean().default(true),\n enableScreenCapture: z.boolean().default(true),\n debug: z.boolean().default(false),\n user: z\n .object({\n id: z.string(),\n email: z.string().optional(),\n metadata: z.any().optional(),\n })\n .optional(),\n})\n\nexport type ObiSDKConfig = z.infer<typeof ObiSDKConfigSchema>\n\n// Event types\nexport enum EventType {\n READY = \"ready\",\n ERROR = \"error\",\n VOICE_START = \"voice:start\",\n VOICE_STOP = \"voice:stop\",\n SCREEN_CAPTURE_START = \"screen:start\",\n SCREEN_CAPTURE_STOP = \"screen:stop\",\n STATE_CHANGE = \"state:change\",\n}\n\n// SDK state\nexport enum SDKState {\n READY = \"ready\",\n ERROR = \"error\",\n PAUSED = \"paused\",\n LOADING = \"loading\",\n THINKING = \"thinking\",\n RESEARCHING = \"researching\",\n AGENT_SPEAKING = \"agent_speaking\",\n USER_SPEAKING = \"user_speaking\",\n AWAITING_USER_INPUT = \"awaiting_user_input\",\n}\n\n// Error types\nexport interface ObiError {\n code: string\n message: string\n details?: unknown\n}\n","const t=Symbol.for(\"@ts-pattern/matcher\"),e=Symbol.for(\"@ts-pattern/isVariadic\"),n=\"@ts-pattern/anonymous-select-key\",r=t=>Boolean(t&&\"object\"==typeof t),i=e=>e&&!!e[t],o=(n,s,c)=>{if(i(n)){const e=n[t](),{matched:r,selections:i}=e.match(s);return r&&i&&Object.keys(i).forEach(t=>c(t,i[t])),r}if(r(n)){if(!r(s))return!1;if(Array.isArray(n)){if(!Array.isArray(s))return!1;let t=[],r=[],a=[];for(const o of n.keys()){const s=n[o];i(s)&&s[e]?a.push(s):a.length?r.push(s):t.push(s)}if(a.length){if(a.length>1)throw new Error(\"Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.\");if(s.length<t.length+r.length)return!1;const e=s.slice(0,t.length),n=0===r.length?[]:s.slice(-r.length),i=s.slice(t.length,0===r.length?Infinity:-r.length);return t.every((t,n)=>o(t,e[n],c))&&r.every((t,e)=>o(t,n[e],c))&&(0===a.length||o(a[0],i,c))}return n.length===s.length&&n.every((t,e)=>o(t,s[e],c))}return Reflect.ownKeys(n).every(e=>{const r=n[e];return(e in s||i(a=r)&&\"optional\"===a[t]().matcherType)&&o(r,s[e],c);var a})}return Object.is(s,n)},s=e=>{var n,o,a;return r(e)?i(e)?null!=(n=null==(o=(a=e[t]()).getSelectionKeys)?void 0:o.call(a))?n:[]:Array.isArray(e)?c(e,s):c(Object.values(e),s):[]},c=(t,e)=>t.reduce((t,n)=>t.concat(e(n)),[]);function a(...t){if(1===t.length){const[e]=t;return t=>o(e,t,()=>{})}if(2===t.length){const[e,n]=t;return o(e,n,()=>{})}throw new Error(`isMatching wasn't given the right number of arguments: expected 1 or 2, received ${t.length}.`)}function u(t){return Object.assign(t,{optional:()=>h(t),and:e=>m(t,e),or:e=>d(t,e),select:e=>void 0===e?y(t):y(e,t)})}function l(t){return Object.assign((t=>Object.assign(t,{[Symbol.iterator](){let n=0;const r=[{value:Object.assign(t,{[e]:!0}),done:!1},{done:!0,value:void 0}];return{next:()=>{var t;return null!=(t=r[n++])?t:r.at(-1)}}}}))(t),{optional:()=>l(h(t)),select:e=>l(void 0===e?y(t):y(e,t))})}function h(e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return void 0===t?(s(e).forEach(t=>r(t,void 0)),{matched:!0,selections:n}):{matched:o(e,t,r),selections:n}},getSelectionKeys:()=>s(e),matcherType:\"optional\"})})}const f=(t,e)=>{for(const n of t)if(!e(n))return!1;return!0},g=(t,e)=>{for(const[n,r]of t.entries())if(!e(r,n))return!1;return!0};function m(...e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return{matched:e.every(e=>o(e,t,r)),selections:n}},getSelectionKeys:()=>c(e,s),matcherType:\"and\"})})}function d(...e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return c(e,s).forEach(t=>r(t,void 0)),{matched:e.some(e=>o(e,t,r)),selections:n}},getSelectionKeys:()=>c(e,s),matcherType:\"or\"})})}function p(e){return{[t]:()=>({match:t=>({matched:Boolean(e(t))})})}}function y(...e){const r=\"string\"==typeof e[0]?e[0]:void 0,i=2===e.length?e[1]:\"string\"==typeof e[0]?void 0:e[0];return u({[t]:()=>({match:t=>{let e={[null!=r?r:n]:t};return{matched:void 0===i||o(i,t,(t,n)=>{e[t]=n}),selections:e}},getSelectionKeys:()=>[null!=r?r:n].concat(void 0===i?[]:s(i))})})}function v(t){return\"number\"==typeof t}function b(t){return\"string\"==typeof t}function w(t){return\"bigint\"==typeof t}const S=u(p(function(t){return!0})),O=S,j=t=>Object.assign(u(t),{startsWith:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.startsWith(n)))));var n},endsWith:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.endsWith(n)))));var n},minLength:e=>j(m(t,(t=>p(e=>b(e)&&e.length>=t))(e))),length:e=>j(m(t,(t=>p(e=>b(e)&&e.length===t))(e))),maxLength:e=>j(m(t,(t=>p(e=>b(e)&&e.length<=t))(e))),includes:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.includes(n)))));var n},regex:e=>{return j(m(t,(n=e,p(t=>b(t)&&Boolean(t.match(n))))));var n}}),K=j(p(b)),x=t=>Object.assign(u(t),{between:(e,n)=>x(m(t,((t,e)=>p(n=>v(n)&&t<=n&&e>=n))(e,n))),lt:e=>x(m(t,(t=>p(e=>v(e)&&e<t))(e))),gt:e=>x(m(t,(t=>p(e=>v(e)&&e>t))(e))),lte:e=>x(m(t,(t=>p(e=>v(e)&&e<=t))(e))),gte:e=>x(m(t,(t=>p(e=>v(e)&&e>=t))(e))),int:()=>x(m(t,p(t=>v(t)&&Number.isInteger(t)))),finite:()=>x(m(t,p(t=>v(t)&&Number.isFinite(t)))),positive:()=>x(m(t,p(t=>v(t)&&t>0))),negative:()=>x(m(t,p(t=>v(t)&&t<0)))}),E=x(p(v)),A=t=>Object.assign(u(t),{between:(e,n)=>A(m(t,((t,e)=>p(n=>w(n)&&t<=n&&e>=n))(e,n))),lt:e=>A(m(t,(t=>p(e=>w(e)&&e<t))(e))),gt:e=>A(m(t,(t=>p(e=>w(e)&&e>t))(e))),lte:e=>A(m(t,(t=>p(e=>w(e)&&e<=t))(e))),gte:e=>A(m(t,(t=>p(e=>w(e)&&e>=t))(e))),positive:()=>A(m(t,p(t=>w(t)&&t>0))),negative:()=>A(m(t,p(t=>w(t)&&t<0)))}),P=A(p(w)),T=u(p(function(t){return\"boolean\"==typeof t})),B=u(p(function(t){return\"symbol\"==typeof t})),_=u(p(function(t){return null==t})),k=u(p(function(t){return null!=t}));var N={__proto__:null,matcher:t,optional:h,array:function(...e){return l({[t]:()=>({match:t=>{if(!Array.isArray(t))return{matched:!1};if(0===e.length)return{matched:!0};const n=e[0];let r={};if(0===t.length)return s(n).forEach(t=>{r[t]=[]}),{matched:!0,selections:r};const i=(t,e)=>{r[t]=(r[t]||[]).concat([e])};return{matched:t.every(t=>o(n,t,i)),selections:r}},getSelectionKeys:()=>0===e.length?[]:s(e[0])})})},set:function(...e){return u({[t]:()=>({match:t=>{if(!(t instanceof Set))return{matched:!1};let n={};if(0===t.size)return{matched:!0,selections:n};if(0===e.length)return{matched:!0};const r=(t,e)=>{n[t]=(n[t]||[]).concat([e])},i=e[0];return{matched:f(t,t=>o(i,t,r)),selections:n}},getSelectionKeys:()=>0===e.length?[]:s(e[0])})})},map:function(...e){return u({[t]:()=>({match:t=>{if(!(t instanceof Map))return{matched:!1};let n={};if(0===t.size)return{matched:!0,selections:n};const r=(t,e)=>{n[t]=(n[t]||[]).concat([e])};if(0===e.length)return{matched:!0};var i;if(1===e.length)throw new Error(`\\`P.map\\` wasn't given enough arguments. Expected (key, value), received ${null==(i=e[0])?void 0:i.toString()}`);const[s,c]=e;return{matched:g(t,(t,e)=>{const n=o(s,e,r),i=o(c,t,r);return n&&i}),selections:n}},getSelectionKeys:()=>0===e.length?[]:[...s(e[0]),...s(e[1])]})})},intersection:m,union:d,not:function(e){return u({[t]:()=>({match:t=>({matched:!o(e,t,()=>{})}),getSelectionKeys:()=>[],matcherType:\"not\"})})},when:p,select:y,any:S,_:O,string:K,number:E,bigint:P,boolean:T,symbol:B,nullish:_,nonNullable:k,instanceOf:function(t){return u(p(function(t){return e=>e instanceof t}(t)))},shape:function(t){return u(p(a(t)))}};class W extends Error{constructor(t){let e;try{e=JSON.stringify(t)}catch(n){e=t}super(`Pattern matching error: no pattern matches value ${e}`),this.input=void 0,this.input=t}}const $={matched:!1,value:void 0};function z(t){return new I(t,$)}class I{constructor(t,e){this.input=void 0,this.state=void 0,this.input=t,this.state=e}with(...t){if(this.state.matched)return this;const e=t[t.length-1],r=[t[0]];let i;3===t.length&&\"function\"==typeof t[1]?i=t[1]:t.length>2&&r.push(...t.slice(1,t.length-1));let s=!1,c={};const a=(t,e)=>{s=!0,c[t]=e},u=!r.some(t=>o(t,this.input,a))||i&&!Boolean(i(this.input))?$:{matched:!0,value:e(s?n in c?c[n]:c:this.input,this.input)};return new I(this.input,u)}when(t,e){if(this.state.matched)return this;const n=Boolean(t(this.input));return new I(this.input,n?{matched:!0,value:e(this.input,this.input)}:$)}otherwise(t){return this.state.matched?this.state.value:t(this.input)}exhaustive(t=L){return this.state.matched?this.state.value:t(this.input)}run(){return this.exhaustive()}returnType(){return this}}function L(t){throw new W(t)}export{W as NonExhaustiveError,N as P,N as Pattern,a as isMatching,z as match};\n//# sourceMappingURL=index.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=h.fromAttribute(s,t.type)??this._$Ej?.get(e)??null,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.0\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.0\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.0\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","import { LitElement, html, css } from \"lit\"\nimport { property } from \"lit/decorators.js\"\n\nexport class NavIcon extends LitElement {\n static styles = css`\n :host {\n display: block;\n }\n\n button {\n display: flex;\n height: 40px;\n width: 40px;\n align-items: center;\n justify-content: center;\n border-radius: 2px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n transition: all 0.2s;\n cursor: pointer;\n margin: 4px 0;\n padding: 0;\n border: none;\n color: black;\n }\n\n button.special {\n color: #fff;\n background-color: #000;\n }\n\n button.special svg {\n stroke: #fff;\n }\n\n button.special.active {\n background-color: black;\n color: white;\n }\n\n button.special.active:hover {\n background-color: #27272a;\n }\n\n button:not(.special) {\n background-color: white;\n color: black;\n }\n\n button:not(.special):hover {\n background-color: #e5e5e5;\n }\n\n ::slotted(*) {\n width: 18px;\n height: 18px;\n }\n `\n\n @property({ type: String })\n id: string = \"\"\n\n @property({ type: Boolean })\n isActive: boolean = false\n\n @property({ type: Boolean })\n isSpecial: boolean = false\n\n @property({ type: Function })\n onClick?: (id: string, isActive: boolean) => void\n\n private handleClick(e: Event) {\n e.preventDefault()\n e.stopPropagation()\n\n const event = new CustomEvent(\"click\", {\n detail: {\n id: this.id,\n isActive: !this.isActive,\n },\n bubbles: true,\n composed: true,\n })\n this.dispatchEvent(event)\n\n if (this.onClick) {\n this.onClick(this.id, !this.isActive)\n }\n }\n\n render() {\n return html`\n <button\n id=\"obi-nav-${this.id}\"\n class=${this.isSpecial ? \"special\" : \"\"}\n ?active=${this.isActive}\n @click=${this.handleClick}\n aria-label=\"${this.id} control\"\n >\n <slot></slot>\n </button>\n `\n }\n}\n\nif (!customElements.get(\"obi-nav-icon\")) {\n customElements.define(\"obi-nav-icon\", NavIcon)\n}\n","import { html, svg } from \"lit\"\n\n// Icon utilities\nconst svgWrapper = (content: any) => html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"lucide\"\n style=\"display: block;\"\n >\n ${content}\n </svg>\n`\n\n// Icons\nexport const pauseIcon = svgWrapper(svg`\n <rect x=\"14\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\"/><rect x=\"6\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\"/>\n`)\n\nexport const playIcon = svgWrapper(svg`<polygon points=\"6 3 20 12 6 21 6 3\"/>`)\n\nexport const powerIcon = svgWrapper(svg`\n <path d=\"M12 2v10\"/><path d=\"M18.4 6.6a9 9 0 1 1-12.77.04\"/>\n`)\n\nexport const closeIcon = svgWrapper(svg`\n <path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/>\n`)\n\nexport const bookOpenIcon = svgWrapper(svg`\n <path d=\"M12 7v14\" />\n <path\n d=\"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z\"\n />\n`)\n\nexport const obiIcon = html`\n <img\n class=\"widget-icon\"\n src=\"data:image/svg+xml;base64,${btoa(`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 34\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"obi-icon\">\n <g id=\"Subtract\">\n <path d=\"M15.5845 9.29177L8.20527 5.00637L8.20527 13.4502L15.5845 17.7356L15.5845 9.29177Z\" fill=\"white\" />\n <path d=\"M15.5896 27.7146L8.21035 31.9994L8.21032 23.4698L15.5896 19.1843L15.5896 27.7146Z\" fill=\"white\" />\n <path d=\"M16.4104 27.7146L16.4104 19.1786L23.7897 23.4641L23.7897 32L16.4104 27.7146Z\" fill=\"white\" />\n <path d=\"M32 27.7142L24.6207 31.9996L24.6207 23.47L32 19.1846L32 27.7142Z\" fill=\"white\" />\n <path d=\"M24.2048 22.748L31.5911 18.4585L24.2845 14.2154L16.8983 18.5048L24.2048 22.748Z\" fill=\"white\" />\n <path d=\"M23.7948 5.01235L23.7948 13.4564L16.4156 17.7418L16.4156 9.29775L23.7948 5.01235Z\" fill=\"white\" />\n <path d=\"M16.0052 0L23.3865 4.2866L16.0003 8.57606L8.61897 4.28946L16.0052 0Z\" fill=\"white\" />\n <path d=\"M7.72042 14.2182L15.1017 18.5048L7.79445 22.7477L0.413699 18.4615L7.72042 14.2182Z\" fill=\"white\" />\n <path d=\"M7.37926 31.9997L7.37926 23.4638L0 19.1784L3.79636e-05 27.7143L7.37926 31.9997Z\" fill=\"white\" />\n </g>\n </g>\n </svg>`)}\"\n alt=\"Obi Icon\"\n />\n`\n","import { LitElement, html, css } from \"lit\"\nimport { property } from \"lit/decorators.js\"\nimport { SDKState } from \"../../core/types\"\nimport \"./nav-icon\"\nimport { pauseIcon, playIcon, powerIcon, closeIcon, bookOpenIcon } from \"./icons\"\n\nexport class NavigationBar extends LitElement {\n static styles = css`\n :host {\n display: flex;\n position: absolute;\n z-index: 10000;\n width: 40px;\n transition: all 0.2s ease-in-out;\n opacity: 1;\n transform: scale(1);\n pointer-events: auto;\n background-color: #fff;\n }\n\n :host([data-direction=\"up\"]) {\n bottom: 64px;\n top: auto;\n flex-direction: column-reverse;\n }\n\n :host([data-direction=\"down\"]) {\n top: 64px;\n bottom: auto;\n flex-direction: column;\n }\n `\n\n @property({ type: Boolean })\n isActive = false\n\n @property({ type: Boolean })\n isScreenActive = false\n\n @property({ type: Object })\n position = { top: 0, left: 0 }\n\n @property({ type: String })\n currentState: SDKState = SDKState.READY\n\n @property({ type: String })\n direction: \"up\" | \"down\" = \"up\"\n\n @property({ type: Function })\n onItemSelect?: (id: string, isActive: boolean) => void\n\n constructor() {\n super()\n }\n\n connectedCallback() {\n super.connectedCallback()\n }\n\n private handleIconClick(id: string, isActive: boolean) {\n if (this.onItemSelect) {\n this.onItemSelect(id, isActive)\n }\n }\n\n render() {\n return html`\n ${this.isActive\n ? html`\n <obi-nav-icon\n id=\"pause\"\n ?isActive=${this.currentState === SDKState.PAUSED}\n @click=${() =>\n this.handleIconClick(\"pause\", this.currentState === SDKState.PAUSED ? false : true)}\n >\n ${this.currentState === SDKState.PAUSED ? playIcon : pauseIcon}\n </obi-nav-icon>\n <obi-nav-icon\n id=\"activate\"\n ?isActive=${this.isActive}\n ?isSpecial=${true}\n @click=${() => this.handleIconClick(\"activate\", this.isActive ? false : true)}\n >\n ${this.isActive ? closeIcon : powerIcon}\n </obi-nav-icon>\n `\n : html`\n <obi-nav-icon\n id=\"experiences\"\n @click=${() => this.handleIconClick(\"experiences\", true)}\n >\n ${bookOpenIcon}\n </obi-nav-icon>\n `}\n `\n }\n}\n\nif (!customElements.get(\"obi-navigation-bar\")) {\n customElements.define(\"obi-navigation-bar\", NavigationBar)\n}\n","import { LitElement, html, css } from \"lit\"\nimport { property } from \"lit/decorators.js\"\n\nexport type CourseData = {\n id: string\n name: string\n description: string\n imageSrc: string\n}\n\nexport class Course extends LitElement {\n static styles = css`\n :host {\n display: block;\n }\n\n .course-container {\n padding: 16px 12px;\n gap: 12px;\n border-radius: 4px;\n border: 1px solid #e5e7eb;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .course-container:hover {\n background-color: #f9fafb;\n border-color: #d1d5db;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n }\n\n .course-container:active {\n transform: scale(0.98);\n }\n\n .course-image {\n max-height: 160px;\n border-radius: 2px;\n border: 1px solid #e5e7eb;\n object-fit: cover;\n width: 100%;\n margin-bottom: 12px;\n }\n\n .course-title {\n font-size: 14px;\n font-weight: bold;\n margin: 0;\n margin-bottom: 12px;\n }\n\n .course-description {\n font-size: 14px;\n color: #71717a;\n margin: 0;\n }\n `\n\n @property({ type: String })\n id: string = \"\"\n\n @property({ type: String })\n name: string = \"\"\n\n @property({ type: String })\n description: string = \"\"\n\n @property({ type: String })\n imageSrc: string = \"\"\n\n @property({ type: Function })\n onSelect?: (id: string) => void\n\n private handleClick() {\n if (this.onSelect) {\n this.onSelect(this.id)\n }\n\n this.dispatchEvent(\n new CustomEvent(\"course-select\", {\n detail: { id: this.id },\n bubbles: true,\n composed: true,\n })\n )\n }\n\n render() {\n return html`\n <div class=\"course-container\" @click=${this.handleClick}>\n <img src=${this.imageSrc} alt=\"Course Preview\" class=\"course-image\" />\n <h2 class=\"course-title\">${this.name}</h2>\n ${this.description ? html`<p class=\"course-description\">${this.description}</p>` : \"\"}\n </div>\n `\n }\n}\n\nexport class CourseList extends LitElement {\n static styles = css`\n :host {\n display: block;\n }\n\n .course-grid {\n display: grid;\n gap: 12px;\n margin-top: 24px;\n }\n\n .course-grid.grid-cols-1 {\n grid-template-columns: 1fr;\n }\n\n .course-grid.grid-cols-2 {\n grid-template-columns: 1fr 1fr;\n }\n\n .course-grid.grid-cols-3 {\n grid-template-columns: 1fr 1fr 1fr;\n }\n\n .loading,\n .error,\n .empty {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: 16px;\n }\n\n .error {\n color: #ef4444;\n }\n `\n\n @property({ type: Array })\n courses: CourseData[] = []\n\n @property({ type: Boolean })\n loading = false\n\n @property({ type: String })\n error = \"\"\n\n @property({ type: Function })\n onCourseSelect?: (id: string) => void\n\n private handleCourseSelect(e: CustomEvent) {\n if (this.onCourseSelect) {\n this.onCourseSelect(e.detail.id)\n }\n }\n\n render() {\n if (this.loading) {\n return html`<div class=\"loading\">Loading...</div>`\n }\n\n if (this.error) {\n return html`<div class=\"error\">${this.error}</div>`\n }\n\n if (!this.courses || this.courses.length === 0) {\n return html`<div class=\"empty\">No courses available</div>`\n }\n\n const gridClass =\n this.courses.length === 1\n ? \"grid-cols-1\"\n : this.courses.length === 2\n ? \"grid-cols-2\"\n : \"grid-cols-3\"\n\n return html`\n <div class=\"course-grid ${gridClass}\">\n ${this.courses.map(\n (course: CourseData) => html`\n <obi-course\n id=${course.id}\n name=${course.name}\n description=${course.description || \"\"}\n imageSrc=${course.imageSrc}\n @course-select=${this.handleCourseSelect}\n ></obi-course>\n `\n )}\n </div>\n `\n }\n}\n\n// Register the custom elements\nif (!customElements.get(\"obi-course\")) {\n customElements.define(\"obi-course\", Course)\n}\n\nif (!customElements.get(\"obi-course-list\")) {\n customElements.define(\"obi-course-list\", CourseList)\n}\n","import { LitElement, html, css } from \"lit\"\nimport { property } from \"lit/decorators.js\"\n\nimport { API_BASE_URL } from \"../../../core/types\"\n\nimport { CourseData } from \"./courses\"\nimport \"./courses\"\n\nexport class CourseModal extends LitElement {\n static styles = css`\n :host {\n display: block;\n font-family: \"Syne\", sans-serif;\n }\n\n .backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: black;\n opacity: 0.7;\n z-index: 40;\n }\n\n .container {\n position: fixed;\n background-color: white;\n color: black;\n border: 1px solid #e5e7eb;\n width: 640px;\n max-height: 80vh;\n overflow-y: auto;\n padding: 48px;\n gap: 12px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border-radius: 4px;\n z-index: 50;\n display: flex;\n flex-direction: column;\n text-align: center;\n }\n\n .container:hover {\n cursor: auto;\n }\n\n .container::-webkit-scrollbar {\n width: 0.5rem;\n }\n\n .container::-webkit-scrollbar-track {\n background-color: #f3f4f6;\n border-radius: 9999px;\n }\n\n .container::-webkit-scrollbar-thumb {\n background-color: #d1d5db;\n border-radius: 9999px;\n }\n\n .header {\n margin-bottom: 24px;\n text-align: center;\n }\n\n h1 {\n font-size: 32px;\n font-weight: 700;\n margin: 0;\n margin-bottom: 8px;\n }\n\n .subtitle {\n font-size: 20px;\n color: rgb(113 113 122 / 1);\n margin: 0;\n }\n\n .close-button {\n position: absolute;\n top: 16px;\n right: 16px;\n background: none;\n border: none;\n cursor: pointer;\n font-size: 24px;\n color: #6b7280;\n }\n `\n\n @property({ type: Array })\n courses: CourseData[] = []\n\n @property({ type: Boolean })\n loading = true\n\n @property({ type: String })\n error = \"\"\n\n @property({ type: String })\n apiBaseUrl = \"\"\n\n @property({ type: String })\n apiKey = \"\"\n\n @property({ type: Function })\n onCourseSelect?: (id: string) => void\n\n @property({ type: Function })\n onClose?: () => void\n\n private handleCourseSelect(e: CustomEvent) {\n if (this.onCourseSelect) {\n this.onCourseSelect(e.detail.id)\n }\n }\n\n private handleClose() {\n if (this.onClose) {\n this.onClose()\n }\n }\n\n private async fetchCourses() {\n try {\n this.loading = true\n const raw_response = await fetch(`${this.apiBaseUrl}/sessions?token=${this.apiKey}`)\n const response = await raw_response.json()\n const mappedCourses = response.map((session: any) => ({\n id: session.uuid,\n name: session.onboarding_plan.name,\n description: session.onboarding_plan.description,\n imageSrc:\n session.onboarding_plan.screen_url ||\n \"https://corproductionsydney-storagebucket5cb7c8ea-atg4gmftc6sk.s3.amazonaws.com/static/generic-course.png\",\n }))\n const filteredCourses = mappedCourses.filter((course: CourseData) => !!course.name)\n this.courses = [...filteredCourses] // Create a new array to ensure property update detection\n this.requestUpdate() // Explicitly request an update\n } catch (err) {\n console.error(\"Fetch error:\", err)\n this.error = \"Failed to fetch courses\"\n } finally {\n this.loading = false\n this.requestUpdate() // Ensure UI updates after loading changes\n }\n }\n\n connectedCallback() {\n super.connectedCallback()\n\n // Get the API key from window.obiWidgetConfig if available\n if (window.obiWidgetConfig?.apiKey) {\n this.apiKey = window.obiWidgetConfig.apiKey\n }\n\n // Set the API base URL from the constant\n this.apiBaseUrl = API_BASE_URL\n\n if (this.apiBaseUrl && this.apiKey) {\n this.fetchCourses()\n } else {\n this.loading = false\n this.error = \"API base URL or API key is missing\"\n }\n }\n\n render() {\n return html`\n <div class=\"backdrop\" @click=${this.handleClose}></div>\n <div class=\"container\">\n <button class=\"close-button\" @click=${this.handleClose}>×</button>\n <div class=\"header\">\n <h1>Give Obi a try!</h1>\n <p class=\"subtitle\">Pick a tour, share your screen, and Obi will take it from there.</p>\n </div>\n\n <obi-course-list\n .courses=${this.courses}\n .loading=${this.loading}\n .error=${this.error}\n @course-select=${this.handleCourseSelect}\n ></obi-course-list>\n </div>\n `\n }\n}\n\nif (!customElements.get(\"obi-course-modal\")) {\n customElements.define(\"obi-course-modal\", CourseModal)\n}\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2,MATHML:3},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,M=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},h=o=>{o._$AR()};export{n as TemplateResultType,h as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,M as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const c=i=>{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.G;return e&&void 0!==this.G&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(this.isConnected||(t=void 0),\"function\"==typeof this.G){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return\"function\"==typeof this.G?o.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","import { LitElement, html, css } from \"lit\"\nimport { property, state } from \"lit/decorators.js\"\nimport { ref, createRef, Ref } from \"lit/directives/ref.js\"\n\ninterface VolumeData {\n speaker: \"USER\" | \"ASSISTANT\"\n volume: number\n spectrum: number[]\n}\n\nexport class AudioEqualizer extends LitElement {\n @property({ type: Object })\n volume: VolumeData = { speaker: \"ASSISTANT\", volume: 0, spectrum: [] }\n\n @state()\n private canvasRef: Ref<HTMLCanvasElement> = createRef()\n\n private barCount = 8\n private animationFrame: number | null = null\n\n static styles = css`\n :host {\n display: block;\n width: 40px;\n height: 40px;\n margin: 4px;\n }\n\n canvas {\n width: 100%;\n height: 100%;\n }\n `\n\n connectedCallback() {\n super.connectedCallback()\n this.startAnimation()\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n this.stopAnimation()\n }\n\n private startAnimation() {\n const animate = () => {\n this.drawEqualizer()\n this.animationFrame = requestAnimationFrame(animate)\n }\n this.animationFrame = requestAnimationFrame(animate)\n }\n\n private stopAnimation() {\n if (this.animationFrame) {\n cancelAnimationFrame(this.animationFrame)\n this.animationFrame = null\n }\n }\n\n private drawEqualizer() {\n const canvas = this.canvasRef.value\n if (!canvas) return\n\n const ctx = canvas.getContext(\"2d\")\n if (!ctx) return\n\n // Handle high DPI displays\n const dpr = window.devicePixelRatio || 1\n const displayWidth = canvas.clientWidth\n const displayHeight = canvas.clientHeight\n\n // Set canvas size to match display size * DPR\n canvas.width = displayWidth * dpr\n canvas.height = displayHeight * dpr\n\n // Scale context to match DPR\n ctx.scale(dpr, dpr)\n\n // Clear the canvas\n ctx.clearRect(0, 0, displayWidth, displayHeight)\n\n // Calculate bar dimensions\n const gap = 3\n const barWidth = Math.max(1, (displayWidth - (this.barCount - 1) * gap) / this.barCount)\n const barMaxHeight = displayHeight / 2\n\n // Determine current volume and spectrum based on who is speaking\n const currentVolume = this.volume.speaker === \"USER\" ? this.volume.volume : this.volume.volume\n const currentSpectrum =\n this.volume.speaker === \"USER\" ? this.volume.spectrum : this.volume.spectrum\n\n if (currentVolume === 0) return\n\n // Process spectrum to match our bar count\n let processedSpectrum: number[] = []\n if (currentSpectrum && currentSpectrum.length > 0) {\n const spectrumLength = currentSpectrum.length\n const regionSize = Math.ceil(spectrumLength / 10)\n let energyByRegion = []\n\n for (let i = 0; i < 10; i++) {\n const start = i * regionSize\n const end = Math.min((i + 1) * regionSize, spectrumLength)\n let regionEnergy = 0\n for (let j = start; j < end; j++) {\n regionEnergy += currentSpectrum[j] || 0\n }\n energyByRegion.push({ region: i, startIdx: start, endIdx: end, energy: regionEnergy })\n }\n\n energyByRegion.sort((a, b) => b.energy - a.energy)\n const topRegions = energyByRegion.slice(0, 3)\n const startIdx = Math.min(...topRegions.map((r) => r.startIdx))\n const endIdx = Math.max(...topRegions.map((r) => r.endIdx))\n\n if (endIdx > startIdx) {\n for (let i = 0; i < this.barCount; i++) {\n const position = startIdx + (i / (this.barCount - 1)) * (endIdx - startIdx)\n const index = Math.min(spectrumLength - 1, Math.floor(position))\n processedSpectrum[i] = currentSpectrum[index] || 0\n }\n } else {\n for (let i = 0; i < this.barCount; i++) {\n const position = (i / (this.barCount - 1)) * (spectrumLength / 2)\n const index = Math.min(spectrumLength - 1, Math.floor(position))\n processedSpectrum[i] = currentSpectrum[index] || 0\n }\n }\n\n const maxSpectrumValue = Math.max(...processedSpectrum, 1)\n const amplificationFactorRoot = this.volume.speaker === \"USER\" ? 0.7 : 0.6\n\n processedSpectrum = processedSpectrum.map((value, index) => {\n const relativeValue = value / maxSpectrumValue\n const amplificationFactor = amplificationFactorRoot + (index / (this.barCount - 1)) * 0.3\n return Math.min(1, relativeValue * amplificationFactor)\n })\n } else {\n if (this.volume.speaker !== \"USER\") {\n for (let i = 0; i < this.barCount; i++) {\n const time = Date.now() * 0.002\n const value = 0.3 + 0.2 * Math.sin(time + i * 0.7)\n processedSpectrum[i] = value\n }\n }\n }\n\n // Draw each bar\n for (let i = 0; i < this.barCount; i++) {\n const spectrumValue =\n processedSpectrum.length > 0\n ? processedSpectrum[i] !== undefined\n ? processedSpectrum[i]\n : currentVolume\n : currentVolume\n\n if (this.volume.speaker === \"USER\") {\n ctx.fillStyle = `rgba(109, 40, 217, ${spectrumValue * 0.5 + 0.5})`\n } else {\n ctx.fillStyle = `rgba(255, 255, 255, ${spectrumValue * 0.5 + 0.5})`\n }\n\n const barHeight = Math.max(2, spectrumValue * 0.8 * barMaxHeight)\n const x = displayWidth - (this.barCount - i) * (barWidth + gap)\n const radius = barWidth / 2\n\n // Top bar\n ctx.beginPath()\n ctx.moveTo(x + radius, displayHeight / 2 - barHeight)\n ctx.lineTo(x + barWidth - radius, displayHeight / 2 - barHeight)\n ctx.quadraticCurveTo(\n x + barWidth,\n displayHeight / 2 - barHeight,\n x + barWidth,\n displayHeight / 2 - barHeight + radius\n )\n ctx.lineTo(x + barWidth, displayHeight / 2)\n ctx.lineTo(x, displayHeight / 2)\n ctx.lineTo(x, displayHeight / 2 - barHeight + radius)\n ctx.quadraticCurveTo(\n x,\n displayHeight / 2 - barHeight,\n x + radius,\n displayHeight / 2 - barHeight\n )\n ctx.fill()\n\n // Bottom bar\n ctx.beginPath()\n ctx.moveTo(x, displayHeight / 2)\n ctx.lineTo(x + barWidth, displayHeight / 2)\n ctx.lineTo(x + barWidth, displayHeight / 2 + barHeight - radius)\n ctx.quadraticCurveTo(\n x + barWidth,\n displayHeight / 2 + barHeight,\n x + barWidth - radius,\n displayHeight / 2 + barHeight\n )\n ctx.lineTo(x + radius, displayHeight / 2 + barHeight)\n ctx.quadraticCurveTo(\n x,\n displayHeight / 2 + barHeight,\n x,\n displayHeight / 2 + barHeight - radius\n )\n ctx.lineTo(x, displayHeight / 2)\n ctx.fill()\n }\n }\n\n render() {\n return html` <canvas ${ref(this.canvasRef)} width=\"52\" height=\"52\"></canvas> `\n }\n}\n\nif (!customElements.get(\"obi-audio-equalizer\")) {\n customElements.define(\"obi-audio-equalizer\", AudioEqualizer)\n}\n","import { LitElement, html, css } from \"lit\"\nimport { state } from \"lit/decorators.js\"\n\nexport class DotLoader extends LitElement {\n @state()\n private activeDots: boolean[] = Array(5).fill(false)\n\n private numDots = 5\n private containerWidth = 32\n private dotSize = 2\n private bounceHeight = 12\n private animationDuration = 200\n private pauseDuration = 300\n private overlapFactor = 0.7\n private color = \"#FFF\"\n private timeoutIds: number[] = []\n\n static styles = css`\n :host {\n display: block;\n }\n\n .dot-loader {\n display: flex;\n flex-direction: row;\n width: var(--dot-loader-width, 32px);\n height: 14px;\n justify-content: center;\n align-items: center;\n padding: 0;\n margin: 0;\n gap: 4px;\n }\n\n .dot {\n width: var(--dot-size, 2px);\n height: var(--dot-size, 2px);\n border-radius: 50%;\n background-color: var(--dot-color, #fff);\n margin: 0;\n padding: 0;\n transition: transform 0.2s ease-in-out;\n opacity: 1;\n }\n `\n\n connectedCallback() {\n super.connectedCallback()\n this.startAnimation()\n // Set CSS custom properties\n this.style.setProperty(\"--dot-loader-width\", `${this.containerWidth}px`)\n this.style.setProperty(\"--dot-size\", `${this.dotSize}px`)\n this.style.setProperty(\"--dot-color\", this.color)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n this.stopAnimation()\n }\n\n private startAnimation() {\n this.animateSequence()\n }\n\n private stopAnimation() {\n this.timeoutIds.forEach((id) => window.clearTimeout(id))\n this.timeoutIds = []\n }\n\n private animateSequence() {\n // Reset all dots\n this.activeDots = Array(this.numDots).fill(false)\n\n // Animate each dot with overlap\n for (let i = 0; i < this.numDots; i++) {\n const delay = i * (this.animationDuration * this.overlapFactor)\n\n // Start the dot's bounce\n const bounceStartId = window.setTimeout(() => {\n this.activeDots = [...this.activeDots]\n this.activeDots[i] = true\n\n // End the dot's bounce\n const bounceEndId = window.setTimeout(() => {\n this.activeDots = [...this.activeDots]\n this.activeDots[i] = false\n }, this.animationDuration)\n\n this.timeoutIds.push(bounceEndId)\n }, delay)\n\n this.timeoutIds.push(bounceStartId)\n }\n\n // Schedule the next sequence\n const nextSequenceId = window.setTimeout(\n () => {\n this.animateSequence()\n },\n this.numDots * this.animationDuration * this.overlapFactor + this.pauseDuration\n )\n\n this.timeoutIds.push(nextSequenceId)\n }\n\n render() {\n return html`\n <div class=\"dot-loader\">\n ${this.activeDots.map(\n (isActive) => html`\n <div\n class=\"dot\"\n style=\"transform: ${isActive\n ? `translateY(-${this.bounceHeight}px)`\n : \"translateY(0)\"}\"\n ></div>\n `\n )}\n </div>\n `\n }\n}\n\nif (!customElements.get(\"obi-dot-loader\")) {\n customElements.define(\"obi-dot-loader\", DotLoader)\n}\n","import { LitElement, html, css } from \"lit\"\n\nexport class SearchingLoader extends LitElement {\n static styles = css`\n :host {\n display: flex;\n align-items: center;\n gap: 12px;\n background-color: #7c3aed;\n border-radius: 12px;\n padding: 8px 12px;\n }\n\n .text {\n color: white;\n font-weight: 500;\n font-size: 14px;\n }\n `\n\n render() {\n return html`\n <obi-dot-loader loading style=\"margin-left: 2px\"></obi-dot-loader>\n <span class=\"text\">Searching the knowledge base</span>\n `\n }\n}\n\nif (!customElements.get(\"obi-searching-loader\")) {\n customElements.define(\"obi-searching-loader\", SearchingLoader)\n}\n","import { LitElement, html, css, nothing } from \"lit\"\nimport { property, state } from \"lit/decorators.js\"\nimport { match, P } from \"ts-pattern\"\n\nimport type { ObiSession } from \"../../core/session\"\nimport { SDKState } from \"../../core/types\"\nimport { API_BASE_URL } from \"../../core/types\"\n\nimport \"./navigation-bar\"\nimport \"./courses\"\nimport \"./audio-equalizer\"\nimport \"./dot-loader\"\nimport \"./searching-loader\"\nimport { obiIcon } from \"./icons\"\n\nexport class ObiWidget extends LitElement {\n @property({ type: String }) apiBaseUrl = API_BASE_URL\n @property({ type: String }) apiKey = \"\"\n @property({ type: String }) position = \"bottom-right\"\n @property({ type: Object }) user: { id: string; email?: string; metadata?: any } | null = null\n\n @state() private state: SDKState = SDKState.READY\n @state() private showCourseModal = false\n @state() private isHovering = false\n @state() private navVisible = false\n @state() private activeSession: ObiSession | null = null\n @state() private volume: { speaker: \"USER\" | \"ASSISTANT\"; volume: number; spectrum: number[] } = {\n speaker: \"ASSISTANT\",\n volume: 0,\n spectrum: [],\n }\n\n private closeNavTimeoutRef: number | null = null\n\n constructor() {\n super()\n if (window.obiWidgetConfig) {\n if (window.obiWidgetConfig.apiKey) {\n this.apiKey = window.obiWidgetConfig.apiKey\n }\n\n if (window.obiWidgetConfig.position) {\n this.position = window.obiWidgetConfig.position\n }\n\n if (window.obiWidgetConfig.user) {\n this.user = window.obiWidgetConfig.user\n }\n }\n }\n\n static styles = css`\n :host {\n display: block;\n position: fixed;\n z-index: 9999;\n font-family: Arial, sans-serif;\n --obi-primary: #7c3aed;\n --obi-danger: #ef4444;\n --obi-gray: #6b7280;\n }\n\n /* Position-specific styles */\n :host([position=\"bottom-right\"]) {\n bottom: 80px;\n right: 80px;\n }\n\n :host([position=\"bottom-left\"]) {\n bottom: 80px;\n left: 20px;\n }\n\n :host([position=\"top-right\"]) {\n top: 20px;\n right: 80px;\n }\n\n :host([position=\"top-left\"]) {\n top: 20px;\n left: 20px;\n }\n\n /* Adjust position when in researching state to accommodate wider container */\n :host([position=\"bottom-right\"]) .widget-container.researching {\n right: 20px;\n }\n\n :host([position=\"top-right\"]) .widget-container.researching {\n right: 20px;\n }\n\n .widget-container {\n position: fixed;\n width: 56px;\n height: 56px;\n border-radius: 28px;\n border-color: transparent;\n background-color: var(--obi-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n transition: all 0.2s ease-out;\n }\n\n .widget-container.user-speaking {\n background:\n linear-gradient(0deg, #c4b5fd, #c4b5fd),\n linear-gradient(195.84deg, rgba(192, 132, 252, 0) 11.05%, #c084fc 117.01%);\n }\n\n .widget-container:hover {\n border-radius: 12px;\n }\n\n .widget-container.rounded {\n border-radius: 12px;\n }\n\n .widget-container.researching {\n width: 265px;\n border-radius: 12px;\n }\n\n .widget-icon {\n width: 32px;\n height: 32px;\n transition: transform 0.5s ease-in-out;\n }\n\n .widget-container.rounded .widget-icon {\n transform: rotate(110deg);\n }\n\n @keyframes pulse-shadow {\n 0% {\n box-shadow: 0 0 0 0 rgba(124, 58, 237, 0.4);\n }\n 70% {\n box-shadow: 0 0 0 10px rgba(124, 58, 237, 0);\n }\n 100% {\n box-shadow: 0 0 0 0 rgba(124, 58, 237, 0);\n }\n }\n\n .pulse {\n animation: pulse-shadow 2s ease-in-out infinite;\n }\n `\n\n connectedCallback() {\n super.connectedCallback()\n\n if (!window.obiWidgetConfig) {\n window.obiWidgetConfig = {\n apiKey: this.apiKey || \"\",\n }\n }\n\n if (this.apiKey) {\n window.obiWidgetConfig.apiKey = this.apiKey\n }\n\n // Set position attribute for CSS styling\n this.setAttribute(\"position\", this.position)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n if (this.closeNavTimeoutRef !== null) {\n window.clearTimeout(this.closeNavTimeoutRef)\n }\n\n // Disconnect active session when component is removed\n if (this.activeSession) {\n this.activeSession.disconnect()\n this.activeSession = null\n }\n }\n\n private handleMouseEnter() {\n this.isHovering = true\n this.navVisible = true\n }\n\n private handleMouseLeave() {\n this.isHovering = false\n if (this.closeNavTimeoutRef !== null) {\n window.clearTimeout(this.closeNavTimeoutRef)\n }\n this.closeNavTimeoutRef = window.setTimeout(() => {\n if (!this.isHovering) {\n this.navVisible = false\n }\n this.closeNavTimeoutRef = null\n }, 300)\n }\n\n private handleItemSelect(id: string, itemIsActive: boolean) {\n if (id === \"experiences\") {\n this.showCourseModal = true\n return\n }\n\n match([id, itemIsActive])\n .with([\"pause\", true], () => {\n this.activeSession?.pauseRecording()\n })\n .with([\"pause\", false], () => {\n this.activeSession?.resumeRecording()\n })\n .with([\"activate\", false], () => {\n this.activeSession?.disconnect()\n })\n .otherwise(() => {\n return\n })\n }\n\n private async handleSessionStart(sessionToken: string) {\n // Initialize session\n this.showCourseModal = false\n this.state = SDKState.LOADING\n\n try {\n // Dynamically import the ObiSession implementation\n const { ObiSession } = await import(\"../../core/session\")\n\n const session = new ObiSession({ token: sessionToken, apiBaseUrl: this.apiBaseUrl })\n\n session.on(\"stateChanged\", (data) => {\n this.state = data.newState\n })\n\n session.on(\"volume\", (data) => {\n this.volume = data\n })\n\n // Handle errors\n session.on(\"error\", (data) => {\n console.error(\"Session error:\", data.error)\n this.state = SDKState.ERROR\n this.activeSession = null\n })\n\n await session.connect()\n this.activeSession = session\n } catch (error) {\n console.error(\"Failed to connect to session:\", error)\n this.state = SDKState.ERROR\n }\n }\n\n render() {\n const stateRender = match(this.state)\n .with(SDKState.LOADING, () => html`<obi-dot-loader></obi-dot-loader>`)\n .with(SDKState.RESEARCHING, () => html`<obi-searching-loader></obi-searching-loader>`)\n .with(\n P.union(SDKState.USER_SPEAKING, SDKState.AGENT_SPEAKING),\n () => html`<obi-audio-equalizer .volume=${this.volume}></obi-audio-equalizer>`\n )\n .with(SDKState.PAUSED, () => obiIcon)\n .otherwise(() => obiIcon)\n\n return html`\n <div\n class=\"widget-container ${this.state === SDKState.USER_SPEAKING ||\n this.state === SDKState.AGENT_SPEAKING\n ? \"pulse\"\n : \"\"} ${this.state !== SDKState.READY || this.navVisible ? \"rounded\" : \"\"} ${this\n .state === SDKState.RESEARCHING\n ? \"researching\"\n : \"\"} ${this.state === SDKState.USER_SPEAKING ? \"user-speaking\" : \"\"}\"\n @mouseenter=${this.handleMouseEnter}\n @mouseleave=${this.handleMouseLeave}\n >\n ${stateRender}\n ${this.navVisible && this.state !== SDKState.RESEARCHING\n ? html`\n <obi-navigation-bar\n ?isActive=${this.state !== SDKState.READY}\n .position=${this.position}\n data-direction=\"up\"\n .currentState=${this.state}\n .onItemSelect=${this.handleItemSelect.bind(this)}\n ></obi-navigation-bar>\n `\n : nothing}\n </div>\n ${this.showCourseModal\n ? html`<obi-course-modal\n .onClose=${() => (this.showCourseModal = false)}\n .onCourseSelect=${this.handleSessionStart.bind(this)}\n .apiBaseUrl=${this.apiBaseUrl}\n .apiKey=${this.apiKey}\n ></obi-course-modal>`\n : nothing}\n `\n }\n}\n\nif (!customElements.get(\"obi-widget\")) {\n customElements.define(\"obi-widget\", ObiWidget)\n}\n"],"names":["util","k","e","_","objectUtil","t","i","m","x","s","f","errorUtil","errorMap","ctx","result","issues","a","b","elements","processed","p","p2","r","_a","_b","ZodFirstPartyTypeKind","z","EventType","SDKState","n","o","c","u","h","d","y","l","g","v","S","j","E","A","P","T","B","N","$","I","L","LitElement","html","css","__decorateClass","property","svg","createRef","ref","state","match","nothing"],"mappings":"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","x_google_ignoreList":[0,2,3,4,5,6,7,8,14,15,16,17]}
|