@copilotkitnext/sqlite-runner 0.0.0-max-changeset-20260109200053 → 0.0.0-max-umd-20260122170341

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.umd.js","sources":["../../../../../node_modules/.pnpm/@rollup+plugin-typescript@12.3.0_rollup@4.55.3_tslib@2.8.1_typescript@5.9.2/node_modules/tslib/tslib.es6.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/Subscription.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/config.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/noop.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/identity.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/Observable.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","../../../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/Subject.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../../../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","../../../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js","../../../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js","../../../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js","../../../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js","../../../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js","../../../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js","../../../../../node_modules/.pnpm/@ag-ui+core@0.0.42/node_modules/@ag-ui/core/dist/index.mjs","../../../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js","../../../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js","../../../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js","../../../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js","../../../../../node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/module/helpers.mjs","../../../../../node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/module/core.mjs","../../../../../node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/module/duplex.mjs","../../../../../node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/index.mjs","../../../../../node_modules/.pnpm/@ag-ui+client@0.0.42/node_modules/@ag-ui/client/dist/index.mjs","../../../../../node_modules/.pnpm/partial-json@0.1.7/node_modules/partial-json/dist/options.js","../../shared/dist/index.mjs","../../../../../node_modules/.pnpm/partial-json@0.1.7/node_modules/partial-json/dist/index.js","../../runtime/dist/chunk-UDMXXX23.mjs","../../../../../node_modules/.pnpm/hono@4.11.4/node_modules/hono/dist/router/reg-exp-router/node.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/util.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/bindings.js","../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/index.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js","../../../../../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js","../../../../../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js","../../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","../../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","../../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","../../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","../../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","../../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","../../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","../../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js","../../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js","../../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js","../../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js","../../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js","../../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js","../../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js","../../../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js","../../../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js","../../../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js","../../../../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js","../../../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js","../../../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js","../../../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js","../../../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","../../../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","../../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js","../../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js","../../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js","../../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js","../../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js","../../../../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js","../../../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js","../../../../../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js","../../../../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js","../../../../../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js","../../../../../node_modules/.pnpm/is-arguments@1.2.0/node_modules/is-arguments/index.js","../../../../../node_modules/.pnpm/is-regex@1.2.1/node_modules/is-regex/index.js","../../../../../node_modules/.pnpm/safe-regex-test@1.1.0/node_modules/safe-regex-test/index.js","../../../../../node_modules/.pnpm/generator-function@2.0.1/node_modules/generator-function/index.js","../../../../../node_modules/.pnpm/is-generator-function@1.1.2/node_modules/is-generator-function/index.js","../../../../../node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js","../../../../../node_modules/.pnpm/for-each@0.3.5/node_modules/for-each/index.js","../../../../../node_modules/.pnpm/possible-typed-array-names@1.1.0/node_modules/possible-typed-array-names/index.js","../../../../../node_modules/.pnpm/available-typed-arrays@1.0.7/node_modules/available-typed-arrays/index.js","../../../../../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js","../../../../../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js","../../../../../node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js","../../../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/applyBind.js","../../../../../node_modules/.pnpm/call-bind@1.0.8/node_modules/call-bind/index.js","../../../../../node_modules/.pnpm/which-typed-array@1.1.19/node_modules/which-typed-array/index.js","../../../../../node_modules/.pnpm/is-typed-array@1.1.15/node_modules/is-typed-array/index.js","../../../../../node_modules/.pnpm/util@0.12.5/node_modules/util/util.js","../../../../../node_modules/.pnpm/util@0.12.5/node_modules/util/support/types.js","../../../../../node_modules/.pnpm/util@0.12.5/node_modules/util/support/isBufferBrowser.js","../../../../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/methods/table.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/database.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/methods/backup.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/methods/function.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../node_modules/.pnpm/better-sqlite3@12.5.0/node_modules/better-sqlite3/lib/index.js","../src/sqlite-runner.ts"],"sourcesContent":["/******************************************************************************\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/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __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\nexport function __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\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof 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};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","export var util;\n(function (util) {\n util.assertEqual = (_) => { };\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && Number.isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array.map((val) => (typeof val === \"string\" ? `'${val}'` : val)).join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nexport var objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nexport const 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]);\nexport const 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 Number.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 && typeof data.then === \"function\" && data.catch && 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","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\n//# sourceMappingURL=ReplaySubject.js.map","import { util } from \"./helpers/util.js\";\nexport const 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]);\nexport const quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexport class 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 const firstEl = sub.path[0];\n fieldErrors[firstEl] = fieldErrors[firstEl] || [];\n fieldErrors[firstEl].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n","import { ZodIssueCode } from \"../ZodError.js\";\nimport { util, ZodParsedType } from \"../helpers/util.js\";\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 ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"bigint\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case 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};\nexport default errorMap;\n","import defaultErrorMap from \"./locales/en.js\";\nlet overrideErrorMap = defaultErrorMap;\nexport { defaultErrorMap };\nexport function setErrorMap(map) {\n overrideErrorMap = map;\n}\nexport function getErrorMap() {\n return overrideErrorMap;\n}\n","import { getErrorMap } from \"../errors.js\";\nimport defaultErrorMap from \"../locales/en.js\";\nexport const 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};\nexport const EMPTY_PATH = [];\nexport function 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 === defaultErrorMap ? undefined : defaultErrorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nexport class 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__\" && (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexport const INVALID = Object.freeze({\n status: \"aborted\",\n});\nexport const DIRTY = (value) => ({ status: \"dirty\", value });\nexport const OK = (value) => ({ status: \"valid\", value });\nexport const isAborted = (x) => x.status === \"aborted\";\nexport const isDirty = (x) => x.status === \"dirty\";\nexport const isValid = (x) => x.status === \"valid\";\nexport const isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n","export var errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n // biome-ignore lint:\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message?.message;\n})(errorUtil || (errorUtil = {}));\n","import { ZodError, ZodIssueCode, } from \"./ZodError.js\";\nimport { defaultErrorMap, getErrorMap } from \"./errors.js\";\nimport { errorUtil } from \"./helpers/errorUtil.js\";\nimport { DIRTY, INVALID, OK, ParseStatus, addIssueToContext, isAborted, isAsync, isDirty, isValid, makeIssue, } from \"./helpers/parseUtil.js\";\nimport { util, ZodParsedType, getParsedType } from \"./helpers/util.js\";\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (Array.isArray(this._key)) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (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 const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message ?? ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: message ?? required_error ?? ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: message ?? invalid_type_error ?? ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nexport class 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 const ctx = {\n common: {\n issues: [],\n async: params?.async ?? false,\n contextualErrorMap: params?.errorMap,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: 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 (err?.message?.toLowerCase()?.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params?.errorMap,\n async: true,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\" ? refinementData(val, ctx) : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\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 secondsRegexSource = `[0-5]\\\\d`;\n if (args.precision) {\n secondsRegexSource = `${secondsRegexSource}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n secondsRegexSource = `${secondsRegexSource}(\\\\.\\\\d+)?`;\n }\n const secondsQuantifier = args.precision ? \"+\" : \"?\"; // require seconds if precision is nonzero\n return `([01]\\\\d|2[0-3]):[0-5]\\\\d(:${secondsRegexSource})${secondsQuantifier}`;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n if (!header)\n return false;\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (\"typ\" in decoded && decoded?.typ !== \"JWT\")\n return false;\n if (!decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nexport class 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 {\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 if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n offset: options?.offset ?? false,\n local: options?.local ?? false,\n ...errorUtil.errToObj(options?.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n ...errorUtil.errToObj(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?.position,\n ...errorUtil.errToObj(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 return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nexport class 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 ? input.data < check.value : 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 ? input.data > check.value : 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\" || (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null;\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" || ch.kind === \"int\" || ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nexport class ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== 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 ? input.data < check.value : 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 ? input.data > check.value : 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 return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\nexport class 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?.coerce || false,\n ...processCreateParams(params),\n });\n};\nexport class 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 (Number.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?.coerce || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nexport class 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};\nexport class 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};\nexport class 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};\nexport class 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};\nexport class 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};\nexport class 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};\nexport class 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};\nexport class 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}\nexport class 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 this._cached = { shape, keys };\n return this._cached;\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 && 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 }\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 const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: errorUtil.errToObj(message).message ?? defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n for (const key of util.objectKeys(mask)) {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n for (const key of util.objectKeys(this.shape)) {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n for (const key of util.objectKeys(this.shape)) {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n for (const key of util.objectKeys(this.shape)) {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.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};\nexport class 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};\nexport class 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.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === 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 && bType === ZodParsedType.date && +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nexport class 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};\n// type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];\nexport class 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};\nexport class 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}\nexport class 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};\nexport class 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};\nexport class 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: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), defaultErrorMap].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: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), defaultErrorMap].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.parseAsync(args, params).catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return 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 ? args : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexport class 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};\nexport class 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}\nexport class ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(this._def.values);\n }\n if (!this._cache.has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n 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}\nZodEnum.create = createZodEnum;\nexport class ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string && 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 (!this._cache) {\n this._cache = new Set(util.getValidEnumValues(this._def.values));\n }\n if (!this._cache.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}\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nexport class 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 && 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 ? ctx.data : 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};\nexport class 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._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).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 INVALID;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {\n if (!isValid(base))\n return INVALID;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({\n status: status.value,\n value: result,\n }));\n });\n }\n }\n util.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};\nexport { ZodEffects as ZodTransformer };\nexport class 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};\nexport class 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};\nexport class 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\" ? params.default : () => params.default,\n ...processCreateParams(params),\n });\n};\nexport class 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};\nexport class 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};\nexport const BRAND = Symbol(\"zod_brand\");\nexport class 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}\nexport class 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}\nexport class 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) ? result.then((data) => freeze(data)) : 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\" ? params(data) : typeof params === \"string\" ? { message: params } : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n return p2;\n}\nexport function custom(check, _params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nexport { ZodType as Schema, ZodType as ZodSchema };\nexport const late = {\n object: ZodObject.lazycreate,\n};\nexport var 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 = {}));\n// requires TS 4.4+\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\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();\nexport const 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};\nexport { anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, dateType as date, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, instanceOfType as instanceof, intersectionType as intersection, lazyType as lazy, literalType as literal, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, recordType as record, setType as set, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, voidType as void, };\nexport const NEVER = INVALID;\n","// src/types.ts\nimport { z } from \"zod\";\nvar FunctionCallSchema = z.object({\n name: z.string(),\n arguments: z.string()\n});\nvar ToolCallSchema = z.object({\n id: z.string(),\n type: z.literal(\"function\"),\n function: FunctionCallSchema\n});\nvar BaseMessageSchema = z.object({\n id: z.string(),\n role: z.string(),\n content: z.string().optional(),\n name: z.string().optional()\n});\nvar TextInputContentSchema = z.object({\n type: z.literal(\"text\"),\n text: z.string()\n});\nvar BinaryInputContentObjectSchema = z.object({\n type: z.literal(\"binary\"),\n mimeType: z.string(),\n id: z.string().optional(),\n url: z.string().optional(),\n data: z.string().optional(),\n filename: z.string().optional()\n});\nvar ensureBinaryPayload = (value, ctx) => {\n if (!value.id && !value.url && !value.data) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"BinaryInputContent requires at least one of id, url, or data.\",\n path: [\"id\"]\n });\n }\n};\nvar BinaryInputContentSchema = BinaryInputContentObjectSchema.superRefine((value, ctx) => {\n ensureBinaryPayload(value, ctx);\n});\nvar InputContentBaseSchema = z.discriminatedUnion(\"type\", [\n TextInputContentSchema,\n BinaryInputContentObjectSchema\n]);\nvar InputContentSchema = InputContentBaseSchema.superRefine((value, ctx) => {\n if (value.type === \"binary\") {\n ensureBinaryPayload(value, ctx);\n }\n});\nvar DeveloperMessageSchema = BaseMessageSchema.extend({\n role: z.literal(\"developer\"),\n content: z.string()\n});\nvar SystemMessageSchema = BaseMessageSchema.extend({\n role: z.literal(\"system\"),\n content: z.string()\n});\nvar AssistantMessageSchema = BaseMessageSchema.extend({\n role: z.literal(\"assistant\"),\n content: z.string().optional(),\n toolCalls: z.array(ToolCallSchema).optional()\n});\nvar UserMessageSchema = BaseMessageSchema.extend({\n role: z.literal(\"user\"),\n content: z.union([z.string(), z.array(InputContentSchema)])\n});\nvar ToolMessageSchema = z.object({\n id: z.string(),\n content: z.string(),\n role: z.literal(\"tool\"),\n toolCallId: z.string(),\n error: z.string().optional()\n});\nvar ActivityMessageSchema = z.object({\n id: z.string(),\n role: z.literal(\"activity\"),\n activityType: z.string(),\n content: z.record(z.any())\n});\nvar MessageSchema = z.discriminatedUnion(\"role\", [\n DeveloperMessageSchema,\n SystemMessageSchema,\n AssistantMessageSchema,\n UserMessageSchema,\n ToolMessageSchema,\n ActivityMessageSchema\n]);\nvar RoleSchema = z.union([\n z.literal(\"developer\"),\n z.literal(\"system\"),\n z.literal(\"assistant\"),\n z.literal(\"user\"),\n z.literal(\"tool\"),\n z.literal(\"activity\")\n]);\nvar ContextSchema = z.object({\n description: z.string(),\n value: z.string()\n});\nvar ToolSchema = z.object({\n name: z.string(),\n description: z.string(),\n parameters: z.any()\n // JSON Schema for the tool parameters\n});\nvar RunAgentInputSchema = z.object({\n threadId: z.string(),\n runId: z.string(),\n parentRunId: z.string().optional(),\n state: z.any(),\n messages: z.array(MessageSchema),\n tools: z.array(ToolSchema),\n context: z.array(ContextSchema),\n forwardedProps: z.any()\n});\nvar StateSchema = z.any();\nvar AGUIError = class extends Error {\n constructor(message) {\n super(message);\n }\n};\nvar AGUIConnectNotImplementedError = class extends AGUIError {\n constructor() {\n super(\"Connect not implemented. This method is not supported by the current agent.\");\n }\n};\n\n// src/events.ts\nimport { z as z2 } from \"zod\";\nvar TextMessageRoleSchema = z2.union([\n z2.literal(\"developer\"),\n z2.literal(\"system\"),\n z2.literal(\"assistant\"),\n z2.literal(\"user\")\n]);\nvar EventType = /* @__PURE__ */ ((EventType2) => {\n EventType2[\"TEXT_MESSAGE_START\"] = \"TEXT_MESSAGE_START\";\n EventType2[\"TEXT_MESSAGE_CONTENT\"] = \"TEXT_MESSAGE_CONTENT\";\n EventType2[\"TEXT_MESSAGE_END\"] = \"TEXT_MESSAGE_END\";\n EventType2[\"TEXT_MESSAGE_CHUNK\"] = \"TEXT_MESSAGE_CHUNK\";\n EventType2[\"THINKING_TEXT_MESSAGE_START\"] = \"THINKING_TEXT_MESSAGE_START\";\n EventType2[\"THINKING_TEXT_MESSAGE_CONTENT\"] = \"THINKING_TEXT_MESSAGE_CONTENT\";\n EventType2[\"THINKING_TEXT_MESSAGE_END\"] = \"THINKING_TEXT_MESSAGE_END\";\n EventType2[\"TOOL_CALL_START\"] = \"TOOL_CALL_START\";\n EventType2[\"TOOL_CALL_ARGS\"] = \"TOOL_CALL_ARGS\";\n EventType2[\"TOOL_CALL_END\"] = \"TOOL_CALL_END\";\n EventType2[\"TOOL_CALL_CHUNK\"] = \"TOOL_CALL_CHUNK\";\n EventType2[\"TOOL_CALL_RESULT\"] = \"TOOL_CALL_RESULT\";\n EventType2[\"THINKING_START\"] = \"THINKING_START\";\n EventType2[\"THINKING_END\"] = \"THINKING_END\";\n EventType2[\"STATE_SNAPSHOT\"] = \"STATE_SNAPSHOT\";\n EventType2[\"STATE_DELTA\"] = \"STATE_DELTA\";\n EventType2[\"MESSAGES_SNAPSHOT\"] = \"MESSAGES_SNAPSHOT\";\n EventType2[\"ACTIVITY_SNAPSHOT\"] = \"ACTIVITY_SNAPSHOT\";\n EventType2[\"ACTIVITY_DELTA\"] = \"ACTIVITY_DELTA\";\n EventType2[\"RAW\"] = \"RAW\";\n EventType2[\"CUSTOM\"] = \"CUSTOM\";\n EventType2[\"RUN_STARTED\"] = \"RUN_STARTED\";\n EventType2[\"RUN_FINISHED\"] = \"RUN_FINISHED\";\n EventType2[\"RUN_ERROR\"] = \"RUN_ERROR\";\n EventType2[\"STEP_STARTED\"] = \"STEP_STARTED\";\n EventType2[\"STEP_FINISHED\"] = \"STEP_FINISHED\";\n return EventType2;\n})(EventType || {});\nvar BaseEventSchema = z2.object({\n type: z2.nativeEnum(EventType),\n timestamp: z2.number().optional(),\n rawEvent: z2.any().optional()\n});\nvar TextMessageStartEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"TEXT_MESSAGE_START\" /* TEXT_MESSAGE_START */),\n messageId: z2.string(),\n role: TextMessageRoleSchema.default(\"assistant\")\n});\nvar TextMessageContentEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"TEXT_MESSAGE_CONTENT\" /* TEXT_MESSAGE_CONTENT */),\n messageId: z2.string(),\n delta: z2.string().refine((s) => s.length > 0, \"Delta must not be an empty string\")\n});\nvar TextMessageEndEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"TEXT_MESSAGE_END\" /* TEXT_MESSAGE_END */),\n messageId: z2.string()\n});\nvar TextMessageChunkEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"TEXT_MESSAGE_CHUNK\" /* TEXT_MESSAGE_CHUNK */),\n messageId: z2.string().optional(),\n role: TextMessageRoleSchema.optional(),\n delta: z2.string().optional()\n});\nvar ThinkingTextMessageStartEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"THINKING_TEXT_MESSAGE_START\" /* THINKING_TEXT_MESSAGE_START */)\n});\nvar ThinkingTextMessageContentEventSchema = TextMessageContentEventSchema.omit({\n messageId: true,\n type: true\n}).extend({\n type: z2.literal(\"THINKING_TEXT_MESSAGE_CONTENT\" /* THINKING_TEXT_MESSAGE_CONTENT */)\n});\nvar ThinkingTextMessageEndEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"THINKING_TEXT_MESSAGE_END\" /* THINKING_TEXT_MESSAGE_END */)\n});\nvar ToolCallStartEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"TOOL_CALL_START\" /* TOOL_CALL_START */),\n toolCallId: z2.string(),\n toolCallName: z2.string(),\n parentMessageId: z2.string().optional()\n});\nvar ToolCallArgsEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"TOOL_CALL_ARGS\" /* TOOL_CALL_ARGS */),\n toolCallId: z2.string(),\n delta: z2.string()\n});\nvar ToolCallEndEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"TOOL_CALL_END\" /* TOOL_CALL_END */),\n toolCallId: z2.string()\n});\nvar ToolCallResultEventSchema = BaseEventSchema.extend({\n messageId: z2.string(),\n type: z2.literal(\"TOOL_CALL_RESULT\" /* TOOL_CALL_RESULT */),\n toolCallId: z2.string(),\n content: z2.string(),\n role: z2.literal(\"tool\").optional()\n});\nvar ToolCallChunkEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"TOOL_CALL_CHUNK\" /* TOOL_CALL_CHUNK */),\n toolCallId: z2.string().optional(),\n toolCallName: z2.string().optional(),\n parentMessageId: z2.string().optional(),\n delta: z2.string().optional()\n});\nvar ThinkingStartEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"THINKING_START\" /* THINKING_START */),\n title: z2.string().optional()\n});\nvar ThinkingEndEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"THINKING_END\" /* THINKING_END */)\n});\nvar StateSnapshotEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"STATE_SNAPSHOT\" /* STATE_SNAPSHOT */),\n snapshot: StateSchema\n});\nvar StateDeltaEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"STATE_DELTA\" /* STATE_DELTA */),\n delta: z2.array(z2.any())\n // JSON Patch (RFC 6902)\n});\nvar MessagesSnapshotEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"MESSAGES_SNAPSHOT\" /* MESSAGES_SNAPSHOT */),\n messages: z2.array(MessageSchema)\n});\nvar ActivitySnapshotEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"ACTIVITY_SNAPSHOT\" /* ACTIVITY_SNAPSHOT */),\n messageId: z2.string(),\n activityType: z2.string(),\n content: z2.record(z2.any()),\n replace: z2.boolean().optional().default(true)\n});\nvar ActivityDeltaEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"ACTIVITY_DELTA\" /* ACTIVITY_DELTA */),\n messageId: z2.string(),\n activityType: z2.string(),\n patch: z2.array(z2.any())\n});\nvar RawEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"RAW\" /* RAW */),\n event: z2.any(),\n source: z2.string().optional()\n});\nvar CustomEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"CUSTOM\" /* CUSTOM */),\n name: z2.string(),\n value: z2.any()\n});\nvar RunStartedEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"RUN_STARTED\" /* RUN_STARTED */),\n threadId: z2.string(),\n runId: z2.string(),\n parentRunId: z2.string().optional(),\n input: RunAgentInputSchema.optional()\n});\nvar RunFinishedEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"RUN_FINISHED\" /* RUN_FINISHED */),\n threadId: z2.string(),\n runId: z2.string(),\n result: z2.any().optional()\n});\nvar RunErrorEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"RUN_ERROR\" /* RUN_ERROR */),\n message: z2.string(),\n code: z2.string().optional()\n});\nvar StepStartedEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"STEP_STARTED\" /* STEP_STARTED */),\n stepName: z2.string()\n});\nvar StepFinishedEventSchema = BaseEventSchema.extend({\n type: z2.literal(\"STEP_FINISHED\" /* STEP_FINISHED */),\n stepName: z2.string()\n});\nvar EventSchemas = z2.discriminatedUnion(\"type\", [\n TextMessageStartEventSchema,\n TextMessageContentEventSchema,\n TextMessageEndEventSchema,\n TextMessageChunkEventSchema,\n ThinkingStartEventSchema,\n ThinkingEndEventSchema,\n ThinkingTextMessageStartEventSchema,\n ThinkingTextMessageContentEventSchema,\n ThinkingTextMessageEndEventSchema,\n ToolCallStartEventSchema,\n ToolCallArgsEventSchema,\n ToolCallEndEventSchema,\n ToolCallChunkEventSchema,\n ToolCallResultEventSchema,\n StateSnapshotEventSchema,\n StateDeltaEventSchema,\n MessagesSnapshotEventSchema,\n ActivitySnapshotEventSchema,\n ActivityDeltaEventSchema,\n RawEventSchema,\n CustomEventSchema,\n RunStartedEventSchema,\n RunFinishedEventSchema,\n RunErrorEventSchema,\n StepStartedEventSchema,\n StepFinishedEventSchema\n]);\nexport {\n AGUIConnectNotImplementedError,\n AGUIError,\n ActivityDeltaEventSchema,\n ActivityMessageSchema,\n ActivitySnapshotEventSchema,\n AssistantMessageSchema,\n BaseEventSchema,\n BaseMessageSchema,\n BinaryInputContentSchema,\n ContextSchema,\n CustomEventSchema,\n DeveloperMessageSchema,\n EventSchemas,\n EventType,\n FunctionCallSchema,\n InputContentSchema,\n MessageSchema,\n MessagesSnapshotEventSchema,\n RawEventSchema,\n RoleSchema,\n RunAgentInputSchema,\n RunErrorEventSchema,\n RunFinishedEventSchema,\n RunStartedEventSchema,\n StateDeltaEventSchema,\n StateSchema,\n StateSnapshotEventSchema,\n StepFinishedEventSchema,\n StepStartedEventSchema,\n SystemMessageSchema,\n TextInputContentSchema,\n TextMessageChunkEventSchema,\n TextMessageContentEventSchema,\n TextMessageEndEventSchema,\n TextMessageStartEventSchema,\n ThinkingEndEventSchema,\n ThinkingStartEventSchema,\n ThinkingTextMessageContentEventSchema,\n ThinkingTextMessageEndEventSchema,\n ThinkingTextMessageStartEventSchema,\n ToolCallArgsEventSchema,\n ToolCallChunkEventSchema,\n ToolCallEndEventSchema,\n ToolCallResultEventSchema,\n ToolCallSchema,\n ToolCallStartEventSchema,\n ToolMessageSchema,\n ToolSchema,\n UserMessageSchema\n};\n//# sourceMappingURL=index.mjs.map","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2022 Joachim Wester\n * MIT licensed\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function hasOwnProperty(obj, key) {\n return _hasOwnProperty.call(obj, key);\n}\nexport function _objectKeys(obj) {\n if (Array.isArray(obj)) {\n var keys_1 = new Array(obj.length);\n for (var k = 0; k < keys_1.length; k++) {\n keys_1[k] = \"\" + k;\n }\n return keys_1;\n }\n if (Object.keys) {\n return Object.keys(obj);\n }\n var keys = [];\n for (var i in obj) {\n if (hasOwnProperty(obj, i)) {\n keys.push(i);\n }\n }\n return keys;\n}\n;\n/**\n* Deeply clone the object.\n* https://jsperf.com/deep-copy-vs-json-stringify-json-parse/25 (recursiveDeepCopy)\n* @param {any} obj value to clone\n* @return {any} cloned obj\n*/\nexport function _deepClone(obj) {\n switch (typeof obj) {\n case \"object\":\n return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5\n case \"undefined\":\n return null; //this is how JSON.stringify behaves for array items\n default:\n return obj; //no need to clone primitives\n }\n}\n//3x faster than cached /^\\d+$/.test(str)\nexport function isInteger(str) {\n var i = 0;\n var len = str.length;\n var charCode;\n while (i < len) {\n charCode = str.charCodeAt(i);\n if (charCode >= 48 && charCode <= 57) {\n i++;\n continue;\n }\n return false;\n }\n return true;\n}\n/**\n* Escapes a json pointer path\n* @param path The raw pointer\n* @return the Escaped path\n*/\nexport function escapePathComponent(path) {\n if (path.indexOf('/') === -1 && path.indexOf('~') === -1)\n return path;\n return path.replace(/~/g, '~0').replace(/\\//g, '~1');\n}\n/**\n * Unescapes a json pointer path\n * @param path The escaped pointer\n * @return The unescaped path\n */\nexport function unescapePathComponent(path) {\n return path.replace(/~1/g, '/').replace(/~0/g, '~');\n}\nexport function _getPathRecursive(root, obj) {\n var found;\n for (var key in root) {\n if (hasOwnProperty(root, key)) {\n if (root[key] === obj) {\n return escapePathComponent(key) + '/';\n }\n else if (typeof root[key] === 'object') {\n found = _getPathRecursive(root[key], obj);\n if (found != '') {\n return escapePathComponent(key) + '/' + found;\n }\n }\n }\n }\n return '';\n}\nexport function getPath(root, obj) {\n if (root === obj) {\n return '/';\n }\n var path = _getPathRecursive(root, obj);\n if (path === '') {\n throw new Error(\"Object not found in root\");\n }\n return \"/\" + path;\n}\n/**\n* Recursively checks whether an object has any undefined values inside.\n*/\nexport function hasUndefined(obj) {\n if (obj === undefined) {\n return true;\n }\n if (obj) {\n if (Array.isArray(obj)) {\n for (var i_1 = 0, len = obj.length; i_1 < len; i_1++) {\n if (hasUndefined(obj[i_1])) {\n return true;\n }\n }\n }\n else if (typeof obj === \"object\") {\n var objKeys = _objectKeys(obj);\n var objKeysLength = objKeys.length;\n for (var i = 0; i < objKeysLength; i++) {\n if (hasUndefined(obj[objKeys[i]])) {\n return true;\n }\n }\n }\n }\n return false;\n}\nfunction patchErrorMessageFormatter(message, args) {\n var messageParts = [message];\n for (var key in args) {\n var value = typeof args[key] === 'object' ? JSON.stringify(args[key], null, 2) : args[key]; // pretty print\n if (typeof value !== 'undefined') {\n messageParts.push(key + \": \" + value);\n }\n }\n return messageParts.join('\\n');\n}\nvar PatchError = /** @class */ (function (_super) {\n __extends(PatchError, _super);\n function PatchError(message, name, index, operation, tree) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, patchErrorMessageFormatter(message, { name: name, index: index, operation: operation, tree: tree })) || this;\n _this.name = name;\n _this.index = index;\n _this.operation = operation;\n _this.tree = tree;\n Object.setPrototypeOf(_this, _newTarget.prototype); // restore prototype chain, see https://stackoverflow.com/a/48342359\n _this.message = patchErrorMessageFormatter(message, { name: name, index: index, operation: operation, tree: tree });\n return _this;\n }\n return PatchError;\n}(Error));\nexport { PatchError };\n","import { PatchError, _deepClone, isInteger, unescapePathComponent, hasUndefined } from './helpers.mjs';\nexport var JsonPatchError = PatchError;\nexport var deepClone = _deepClone;\n/* We use a Javascript hash to store each\n function. Each hash entry (property) uses\n the operation identifiers specified in rfc6902.\n In this way, we can map each patch operation\n to its dedicated function in efficient way.\n */\n/* The operations applicable to an object */\nvar objOps = {\n add: function (obj, key, document) {\n obj[key] = this.value;\n return { newDocument: document };\n },\n remove: function (obj, key, document) {\n var removed = obj[key];\n delete obj[key];\n return { newDocument: document, removed: removed };\n },\n replace: function (obj, key, document) {\n var removed = obj[key];\n obj[key] = this.value;\n return { newDocument: document, removed: removed };\n },\n move: function (obj, key, document) {\n /* in case move target overwrites an existing value,\n return the removed value, this can be taxing performance-wise,\n and is potentially unneeded */\n var removed = getValueByPointer(document, this.path);\n if (removed) {\n removed = _deepClone(removed);\n }\n var originalValue = applyOperation(document, { op: \"remove\", path: this.from }).removed;\n applyOperation(document, { op: \"add\", path: this.path, value: originalValue });\n return { newDocument: document, removed: removed };\n },\n copy: function (obj, key, document) {\n var valueToCopy = getValueByPointer(document, this.from);\n // enforce copy by value so further operations don't affect source (see issue #177)\n applyOperation(document, { op: \"add\", path: this.path, value: _deepClone(valueToCopy) });\n return { newDocument: document };\n },\n test: function (obj, key, document) {\n return { newDocument: document, test: _areEquals(obj[key], this.value) };\n },\n _get: function (obj, key, document) {\n this.value = obj[key];\n return { newDocument: document };\n }\n};\n/* The operations applicable to an array. Many are the same as for the object */\nvar arrOps = {\n add: function (arr, i, document) {\n if (isInteger(i)) {\n arr.splice(i, 0, this.value);\n }\n else { // array props\n arr[i] = this.value;\n }\n // this may be needed when using '-' in an array\n return { newDocument: document, index: i };\n },\n remove: function (arr, i, document) {\n var removedList = arr.splice(i, 1);\n return { newDocument: document, removed: removedList[0] };\n },\n replace: function (arr, i, document) {\n var removed = arr[i];\n arr[i] = this.value;\n return { newDocument: document, removed: removed };\n },\n move: objOps.move,\n copy: objOps.copy,\n test: objOps.test,\n _get: objOps._get\n};\n/**\n * Retrieves a value from a JSON document by a JSON pointer.\n * Returns the value.\n *\n * @param document The document to get the value from\n * @param pointer an escaped JSON pointer\n * @return The retrieved value\n */\nexport function getValueByPointer(document, pointer) {\n if (pointer == '') {\n return document;\n }\n var getOriginalDestination = { op: \"_get\", path: pointer };\n applyOperation(document, getOriginalDestination);\n return getOriginalDestination.value;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the {newDocument, result} of the operation.\n * It modifies the `document` and `operation` objects - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyOperation(document, jsonpatch._deepClone(operation))`.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return `{newDocument, result}` after the operation\n */\nexport function applyOperation(document, operation, validateOperation, mutateDocument, banPrototypeModifications, index) {\n if (validateOperation === void 0) { validateOperation = false; }\n if (mutateDocument === void 0) { mutateDocument = true; }\n if (banPrototypeModifications === void 0) { banPrototypeModifications = true; }\n if (index === void 0) { index = 0; }\n if (validateOperation) {\n if (typeof validateOperation == 'function') {\n validateOperation(operation, 0, document, operation.path);\n }\n else {\n validator(operation, 0);\n }\n }\n /* ROOT OPERATIONS */\n if (operation.path === \"\") {\n var returnValue = { newDocument: document };\n if (operation.op === 'add') {\n returnValue.newDocument = operation.value;\n return returnValue;\n }\n else if (operation.op === 'replace') {\n returnValue.newDocument = operation.value;\n returnValue.removed = document; //document we removed\n return returnValue;\n }\n else if (operation.op === 'move' || operation.op === 'copy') { // it's a move or copy to root\n returnValue.newDocument = getValueByPointer(document, operation.from); // get the value by json-pointer in `from` field\n if (operation.op === 'move') { // report removed item\n returnValue.removed = document;\n }\n return returnValue;\n }\n else if (operation.op === 'test') {\n returnValue.test = _areEquals(document, operation.value);\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n returnValue.newDocument = document;\n return returnValue;\n }\n else if (operation.op === 'remove') { // a remove on root\n returnValue.removed = document;\n returnValue.newDocument = null;\n return returnValue;\n }\n else if (operation.op === '_get') {\n operation.value = document;\n return returnValue;\n }\n else { /* bad operation */\n if (validateOperation) {\n throw new JsonPatchError('Operation `op` property is not one of operations defined in RFC-6902', 'OPERATION_OP_INVALID', index, operation, document);\n }\n else {\n return returnValue;\n }\n }\n } /* END ROOT OPERATIONS */\n else {\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n var path = operation.path || \"\";\n var keys = path.split('/');\n var obj = document;\n var t = 1; //skip empty element - http://jsperf.com/to-shift-or-not-to-shift\n var len = keys.length;\n var existingPathFragment = undefined;\n var key = void 0;\n var validateFunction = void 0;\n if (typeof validateOperation == 'function') {\n validateFunction = validateOperation;\n }\n else {\n validateFunction = validator;\n }\n while (true) {\n key = keys[t];\n if (key && key.indexOf('~') != -1) {\n key = unescapePathComponent(key);\n }\n if (banPrototypeModifications &&\n (key == '__proto__' ||\n (key == 'prototype' && t > 0 && keys[t - 1] == 'constructor'))) {\n throw new TypeError('JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README');\n }\n if (validateOperation) {\n if (existingPathFragment === undefined) {\n if (obj[key] === undefined) {\n existingPathFragment = keys.slice(0, t).join('/');\n }\n else if (t == len - 1) {\n existingPathFragment = operation.path;\n }\n if (existingPathFragment !== undefined) {\n validateFunction(operation, 0, document, existingPathFragment);\n }\n }\n }\n t++;\n if (Array.isArray(obj)) {\n if (key === '-') {\n key = obj.length;\n }\n else {\n if (validateOperation && !isInteger(key)) {\n throw new JsonPatchError(\"Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index\", \"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\", index, operation, document);\n } // only parse key when it's an integer for `arr.prop` to work\n else if (isInteger(key)) {\n key = ~~key;\n }\n }\n if (t >= len) {\n if (validateOperation && operation.op === \"add\" && key > obj.length) {\n throw new JsonPatchError(\"The specified index MUST NOT be greater than the number of elements in the array\", \"OPERATION_VALUE_OUT_OF_BOUNDS\", index, operation, document);\n }\n var returnValue = arrOps[operation.op].call(operation, obj, key, document); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return returnValue;\n }\n }\n else {\n if (t >= len) {\n var returnValue = objOps[operation.op].call(operation, obj, key, document); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return returnValue;\n }\n }\n obj = obj[key];\n // If we have more keys in the path, but the next value isn't a non-null object,\n // throw an OPERATION_PATH_UNRESOLVABLE error instead of iterating again.\n if (validateOperation && t < len && (!obj || typeof obj !== \"object\")) {\n throw new JsonPatchError('Cannot perform operation at the desired path', 'OPERATION_PATH_UNRESOLVABLE', index, operation, document);\n }\n }\n }\n}\n/**\n * Apply a full JSON Patch array on a JSON document.\n * Returns the {newDocument, result} of the patch.\n * It modifies the `document` object and `patch` - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyPatch(document, jsonpatch._deepClone(patch))`.\n *\n * @param document The document to patch\n * @param patch The patch to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return An array of `{newDocument, result}` after the patch\n */\nexport function applyPatch(document, patch, validateOperation, mutateDocument, banPrototypeModifications) {\n if (mutateDocument === void 0) { mutateDocument = true; }\n if (banPrototypeModifications === void 0) { banPrototypeModifications = true; }\n if (validateOperation) {\n if (!Array.isArray(patch)) {\n throw new JsonPatchError('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');\n }\n }\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n var results = new Array(patch.length);\n for (var i = 0, length_1 = patch.length; i < length_1; i++) {\n // we don't need to pass mutateDocument argument because if it was true, we already deep cloned the object, we'll just pass `true`\n results[i] = applyOperation(document, patch[i], validateOperation, true, banPrototypeModifications, i);\n document = results[i].newDocument; // in case root was replaced\n }\n results.newDocument = document;\n return results;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the updated document.\n * Suitable as a reducer.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @return The updated document\n */\nexport function applyReducer(document, operation, index) {\n var operationResult = applyOperation(document, operation);\n if (operationResult.test === false) { // failed test\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return operationResult.newDocument;\n}\n/**\n * Validates a single operation. Called from `jsonpatch.validate`. Throws `JsonPatchError` in case of an error.\n * @param {object} operation - operation object (patch)\n * @param {number} index - index of operation in the sequence\n * @param {object} [document] - object where the operation is supposed to be applied\n * @param {string} [existingPathFragment] - comes along with `document`\n */\nexport function validator(operation, index, document, existingPathFragment) {\n if (typeof operation !== 'object' || operation === null || Array.isArray(operation)) {\n throw new JsonPatchError('Operation is not an object', 'OPERATION_NOT_AN_OBJECT', index, operation, document);\n }\n else if (!objOps[operation.op]) {\n throw new JsonPatchError('Operation `op` property is not one of operations defined in RFC-6902', 'OPERATION_OP_INVALID', index, operation, document);\n }\n else if (typeof operation.path !== 'string') {\n throw new JsonPatchError('Operation `path` property is not a string', 'OPERATION_PATH_INVALID', index, operation, document);\n }\n else if (operation.path.indexOf('/') !== 0 && operation.path.length > 0) {\n // paths that aren't empty string should start with \"/\"\n throw new JsonPatchError('Operation `path` property must start with \"/\"', 'OPERATION_PATH_INVALID', index, operation, document);\n }\n else if ((operation.op === 'move' || operation.op === 'copy') && typeof operation.from !== 'string') {\n throw new JsonPatchError('Operation `from` property is not present (applicable in `move` and `copy` operations)', 'OPERATION_FROM_REQUIRED', index, operation, document);\n }\n else if ((operation.op === 'add' || operation.op === 'replace' || operation.op === 'test') && operation.value === undefined) {\n throw new JsonPatchError('Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)', 'OPERATION_VALUE_REQUIRED', index, operation, document);\n }\n else if ((operation.op === 'add' || operation.op === 'replace' || operation.op === 'test') && hasUndefined(operation.value)) {\n throw new JsonPatchError('Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)', 'OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED', index, operation, document);\n }\n else if (document) {\n if (operation.op == \"add\") {\n var pathLen = operation.path.split(\"/\").length;\n var existingPathLen = existingPathFragment.split(\"/\").length;\n if (pathLen !== existingPathLen + 1 && pathLen !== existingPathLen) {\n throw new JsonPatchError('Cannot perform an `add` operation at the desired path', 'OPERATION_PATH_CANNOT_ADD', index, operation, document);\n }\n }\n else if (operation.op === 'replace' || operation.op === 'remove' || operation.op === '_get') {\n if (operation.path !== existingPathFragment) {\n throw new JsonPatchError('Cannot perform the operation at a path that does not exist', 'OPERATION_PATH_UNRESOLVABLE', index, operation, document);\n }\n }\n else if (operation.op === 'move' || operation.op === 'copy') {\n var existingValue = { op: \"_get\", path: operation.from, value: undefined };\n var error = validate([existingValue], document);\n if (error && error.name === 'OPERATION_PATH_UNRESOLVABLE') {\n throw new JsonPatchError('Cannot perform the operation from a path that does not exist', 'OPERATION_FROM_UNRESOLVABLE', index, operation, document);\n }\n }\n }\n}\n/**\n * Validates a sequence of operations. If `document` parameter is provided, the sequence is additionally validated against the object document.\n * If error is encountered, returns a JsonPatchError object\n * @param sequence\n * @param document\n * @returns {JsonPatchError|undefined}\n */\nexport function validate(sequence, document, externalValidator) {\n try {\n if (!Array.isArray(sequence)) {\n throw new JsonPatchError('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');\n }\n if (document) {\n //clone document and sequence so that we can safely try applying operations\n applyPatch(_deepClone(document), _deepClone(sequence), externalValidator || true);\n }\n else {\n externalValidator = externalValidator || validator;\n for (var i = 0; i < sequence.length; i++) {\n externalValidator(sequence[i], i, document, undefined);\n }\n }\n }\n catch (e) {\n if (e instanceof JsonPatchError) {\n return e;\n }\n else {\n throw e;\n }\n }\n}\n// based on https://github.com/epoberezkin/fast-deep-equal\n// MIT License\n// Copyright (c) 2017 Evgeny Poberezkin\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\nexport function _areEquals(a, b) {\n if (a === b)\n return true;\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = Array.isArray(a), arrB = Array.isArray(b), i, length, key;\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0;)\n if (!_areEquals(a[i], b[i]))\n return false;\n return true;\n }\n if (arrA != arrB)\n return false;\n var keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length)\n return false;\n for (i = length; i-- !== 0;)\n if (!b.hasOwnProperty(keys[i]))\n return false;\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!_areEquals(a[key], b[key]))\n return false;\n }\n return true;\n }\n return a !== a && b !== b;\n}\n;\n","/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2021 Joachim Wester\n * MIT license\n */\nimport { _deepClone, _objectKeys, escapePathComponent, hasOwnProperty } from './helpers.mjs';\nimport { applyPatch } from './core.mjs';\nvar beforeDict = new WeakMap();\nvar Mirror = /** @class */ (function () {\n function Mirror(obj) {\n this.observers = new Map();\n this.obj = obj;\n }\n return Mirror;\n}());\nvar ObserverInfo = /** @class */ (function () {\n function ObserverInfo(callback, observer) {\n this.callback = callback;\n this.observer = observer;\n }\n return ObserverInfo;\n}());\nfunction getMirror(obj) {\n return beforeDict.get(obj);\n}\nfunction getObserverFromMirror(mirror, callback) {\n return mirror.observers.get(callback);\n}\nfunction removeObserverFromMirror(mirror, observer) {\n mirror.observers.delete(observer.callback);\n}\n/**\n * Detach an observer from an object\n */\nexport function unobserve(root, observer) {\n observer.unobserve();\n}\n/**\n * Observes changes made to an object, which can then be retrieved using generate\n */\nexport function observe(obj, callback) {\n var patches = [];\n var observer;\n var mirror = getMirror(obj);\n if (!mirror) {\n mirror = new Mirror(obj);\n beforeDict.set(obj, mirror);\n }\n else {\n var observerInfo = getObserverFromMirror(mirror, callback);\n observer = observerInfo && observerInfo.observer;\n }\n if (observer) {\n return observer;\n }\n observer = {};\n mirror.value = _deepClone(obj);\n if (callback) {\n observer.callback = callback;\n observer.next = null;\n var dirtyCheck = function () {\n generate(observer);\n };\n var fastCheck = function () {\n clearTimeout(observer.next);\n observer.next = setTimeout(dirtyCheck);\n };\n if (typeof window !== 'undefined') { //not Node\n window.addEventListener('mouseup', fastCheck);\n window.addEventListener('keyup', fastCheck);\n window.addEventListener('mousedown', fastCheck);\n window.addEventListener('keydown', fastCheck);\n window.addEventListener('change', fastCheck);\n }\n }\n observer.patches = patches;\n observer.object = obj;\n observer.unobserve = function () {\n generate(observer);\n clearTimeout(observer.next);\n removeObserverFromMirror(mirror, observer);\n if (typeof window !== 'undefined') {\n window.removeEventListener('mouseup', fastCheck);\n window.removeEventListener('keyup', fastCheck);\n window.removeEventListener('mousedown', fastCheck);\n window.removeEventListener('keydown', fastCheck);\n window.removeEventListener('change', fastCheck);\n }\n };\n mirror.observers.set(callback, new ObserverInfo(callback, observer));\n return observer;\n}\n/**\n * Generate an array of patches from an observer\n */\nexport function generate(observer, invertible) {\n if (invertible === void 0) { invertible = false; }\n var mirror = beforeDict.get(observer.object);\n _generate(mirror.value, observer.object, observer.patches, \"\", invertible);\n if (observer.patches.length) {\n applyPatch(mirror.value, observer.patches);\n }\n var temp = observer.patches;\n if (temp.length > 0) {\n observer.patches = [];\n if (observer.callback) {\n observer.callback(temp);\n }\n }\n return temp;\n}\n// Dirty check if obj is different from mirror, generate patches and update mirror\nfunction _generate(mirror, obj, patches, path, invertible) {\n if (obj === mirror) {\n return;\n }\n if (typeof obj.toJSON === \"function\") {\n obj = obj.toJSON();\n }\n var newKeys = _objectKeys(obj);\n var oldKeys = _objectKeys(mirror);\n var changed = false;\n var deleted = false;\n //if ever \"move\" operation is implemented here, make sure this test runs OK: \"should not generate the same patch twice (move)\"\n for (var t = oldKeys.length - 1; t >= 0; t--) {\n var key = oldKeys[t];\n var oldVal = mirror[key];\n if (hasOwnProperty(obj, key) && !(obj[key] === undefined && oldVal !== undefined && Array.isArray(obj) === false)) {\n var newVal = obj[key];\n if (typeof oldVal == \"object\" && oldVal != null && typeof newVal == \"object\" && newVal != null && Array.isArray(oldVal) === Array.isArray(newVal)) {\n _generate(oldVal, newVal, patches, path + \"/\" + escapePathComponent(key), invertible);\n }\n else {\n if (oldVal !== newVal) {\n changed = true;\n if (invertible) {\n patches.push({ op: \"test\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(oldVal) });\n }\n patches.push({ op: \"replace\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(newVal) });\n }\n }\n }\n else if (Array.isArray(mirror) === Array.isArray(obj)) {\n if (invertible) {\n patches.push({ op: \"test\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(oldVal) });\n }\n patches.push({ op: \"remove\", path: path + \"/\" + escapePathComponent(key) });\n deleted = true; // property has been deleted\n }\n else {\n if (invertible) {\n patches.push({ op: \"test\", path: path, value: mirror });\n }\n patches.push({ op: \"replace\", path: path, value: obj });\n changed = true;\n }\n }\n if (!deleted && newKeys.length == oldKeys.length) {\n return;\n }\n for (var t = 0; t < newKeys.length; t++) {\n var key = newKeys[t];\n if (!hasOwnProperty(mirror, key) && obj[key] !== undefined) {\n patches.push({ op: \"add\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(obj[key]) });\n }\n }\n}\n/**\n * Create an array of patches from the differences in two objects\n */\nexport function compare(tree1, tree2, invertible) {\n if (invertible === void 0) { invertible = false; }\n var patches = [];\n _generate(tree1, tree2, patches, '', invertible);\n return patches;\n}\n","export * from './module/core.mjs';\nexport * from './module/duplex.mjs';\nexport {\n PatchError as JsonPatchError,\n _deepClone as deepClone,\n escapePathComponent,\n unescapePathComponent\n} from './module/helpers.mjs';\n\n\n/**\n * Default export for backwards compat\n */\n\nimport * as core from './module/core.mjs';\nimport * as duplex from './module/duplex.mjs';\nimport {\n PatchError as JsonPatchError,\n _deepClone as deepClone,\n escapePathComponent,\n unescapePathComponent\n} from './module/helpers.mjs';\n\nexport default Object.assign({}, core, duplex, {\n JsonPatchError,\n deepClone,\n escapePathComponent,\n unescapePathComponent\n});","var xt=Object.defineProperty,_t=Object.defineProperties;var Nt=Object.getOwnPropertyDescriptors;var Y=Object.getOwnPropertySymbols;var it=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable;var rt=(l,a,e)=>a in l?xt(l,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):l[a]=e,N=(l,a)=>{for(var e in a||(a={}))it.call(a,e)&&rt(l,e,a[e]);if(Y)for(var e of Y(a))lt.call(a,e)&&rt(l,e,a[e]);return l},G=(l,a)=>_t(l,Nt(a));var gt=(l,a)=>{var e={};for(var n in l)it.call(l,n)&&a.indexOf(n)<0&&(e[n]=l[n]);if(l!=null&&Y)for(var n of Y(l))a.indexOf(n)<0&&lt.call(l,n)&&(e[n]=l[n]);return e};import{EventType as R}from\"@ag-ui/core\";import{mergeAll as Lt,defaultIfEmpty as Ot,concatMap as Pt}from\"rxjs/operators\";import{of as Dt,EMPTY as Ht}from\"rxjs\";import{v4 as wt}from\"uuid\";var y=l=>{if(typeof structuredClone==\"function\")return structuredClone(l);try{return JSON.parse(JSON.stringify(l))}catch(a){return N({},l)}};function Re(){return wt()}import{applyPatch as ct}from\"fast-json-patch\";async function x(l,a,e,n){let t=a,s=e,r;for(let o of l)try{let i=await n(o,y(t),y(s));if(i===void 0)continue;if(i.messages!==void 0&&(t=i.messages),i.state!==void 0&&(s=i.state),r=i.stopPropagation,r===!0)break}catch(i){process.env.NODE_ENV===\"test\"||process.env.JEST_WORKER_ID!==void 0||console.error(\"Subscriber error:\",i);continue}return N(N(N({},JSON.stringify(t)!==JSON.stringify(a)?{messages:t}:{}),JSON.stringify(s)!==JSON.stringify(e)?{state:s}:{}),r!==void 0?{stopPropagation:r}:{})}import Gt from\"untruncate-json\";var $=(l,a,e,n)=>{let t=y(e.messages),s=y(l.state),r={},o=d=>{d.messages!==void 0&&(t=d.messages,r.messages=d.messages),d.state!==void 0&&(s=d.state,r.state=d.state)},i=()=>{let d=y(r);return r={},d.messages!==void 0||d.state!==void 0?Dt(d):Ht};return a.pipe(Pt(async d=>{var T,v,c,b,U;let I=await x(n,t,s,(E,g,p)=>{var m;return(m=E.onEvent)==null?void 0:m.call(E,{event:d,agent:e,input:l,messages:g,state:p})});if(o(I),I.stopPropagation===!0)return i();switch(d.type){case R.TEXT_MESSAGE_START:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onTextMessageStartEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});if(o(E),E.stopPropagation!==!0){let{messageId:g,role:p=\"assistant\"}=d,m={id:g,role:p,content:\"\"};t.push(m),o({messages:t})}return i()}case R.TEXT_MESSAGE_CONTENT:{let{messageId:E,delta:g}=d,p=t.find(u=>u.id===E);if(!p)return console.warn(`TEXT_MESSAGE_CONTENT: No message found with ID '${E}'`),i();let m=await x(n,t,s,(u,A,h)=>{var _;return(_=u.onTextMessageContentEvent)==null?void 0:_.call(u,{event:d,messages:A,state:h,agent:e,input:l,textMessageBuffer:typeof p.content==\"string\"?p.content:\"\"})});if(o(m),m.stopPropagation!==!0){let u=typeof p.content==\"string\"?p.content:\"\";p.content=`${u}${g}`,o({messages:t})}return i()}case R.TEXT_MESSAGE_END:{let{messageId:E}=d,g=t.find(m=>m.id===E);if(!g)return console.warn(`TEXT_MESSAGE_END: No message found with ID '${E}'`),i();let p=await x(n,t,s,(m,u,A)=>{var h;return(h=m.onTextMessageEndEvent)==null?void 0:h.call(m,{event:d,messages:u,state:A,agent:e,input:l,textMessageBuffer:typeof g.content==\"string\"?g.content:\"\"})});return o(p),await Promise.all(n.map(m=>{var u;(u=m.onNewMessage)==null||u.call(m,{message:g,messages:t,state:s,agent:e,input:l})})),i()}case R.TOOL_CALL_START:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onToolCallStartEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});if(o(E),E.stopPropagation!==!0){let{toolCallId:g,toolCallName:p,parentMessageId:m}=d,u;m&&t.length>0&&t[t.length-1].id===m?u=t[t.length-1]:(u={id:m||g,role:\"assistant\",toolCalls:[]},t.push(u)),(T=u.toolCalls)!=null||(u.toolCalls=[]),u.toolCalls.push({id:g,type:\"function\",function:{name:p,arguments:\"\"}}),o({messages:t})}return i()}case R.TOOL_CALL_ARGS:{let{toolCallId:E,delta:g}=d,p=t.find(A=>{var h;return(h=A.toolCalls)==null?void 0:h.some(_=>_.id===E)});if(!p)return console.warn(`TOOL_CALL_ARGS: No message found containing tool call with ID '${E}'`),i();let m=p.toolCalls.find(A=>A.id===E);if(!m)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${E}'`),i();let u=await x(n,t,s,(A,h,_)=>{var Z;let H=m.function.arguments,F=m.function.name,X={};try{X=Gt(H)}catch(ye){}return(Z=A.onToolCallArgsEvent)==null?void 0:Z.call(A,{event:d,messages:h,state:_,agent:e,input:l,toolCallBuffer:H,toolCallName:F,partialToolCallArgs:X})});return o(u),u.stopPropagation!==!0&&(m.function.arguments+=g,o({messages:t})),i()}case R.TOOL_CALL_END:{let{toolCallId:E}=d,g=t.find(u=>{var A;return(A=u.toolCalls)==null?void 0:A.some(h=>h.id===E)});if(!g)return console.warn(`TOOL_CALL_END: No message found containing tool call with ID '${E}'`),i();let p=g.toolCalls.find(u=>u.id===E);if(!p)return console.warn(`TOOL_CALL_END: No tool call found with ID '${E}'`),i();let m=await x(n,t,s,(u,A,h)=>{var X;let _=p.function.arguments,H=p.function.name,F={};try{F=JSON.parse(_)}catch(Z){}return(X=u.onToolCallEndEvent)==null?void 0:X.call(u,{event:d,messages:A,state:h,agent:e,input:l,toolCallName:H,toolCallArgs:F})});return o(m),await Promise.all(n.map(u=>{var A;(A=u.onNewToolCall)==null||A.call(u,{toolCall:p,messages:t,state:s,agent:e,input:l})})),i()}case R.TOOL_CALL_RESULT:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onToolCallResultEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});if(o(E),E.stopPropagation!==!0){let{messageId:g,toolCallId:p,content:m,role:u}=d,A={id:g,toolCallId:p,role:u||\"tool\",content:m};t.push(A),await Promise.all(n.map(h=>{var _;(_=h.onNewMessage)==null||_.call(h,{message:A,messages:t,state:s,agent:e,input:l})})),o({messages:t})}return i()}case R.STATE_SNAPSHOT:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onStateSnapshotEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});if(o(E),E.stopPropagation!==!0){let{snapshot:g}=d;s=g,o({state:s})}return i()}case R.STATE_DELTA:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onStateDeltaEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});if(o(E),E.stopPropagation!==!0){let{delta:g}=d;try{s=ct(s,g,!0,!1).newDocument,o({state:s})}catch(p){let m=p instanceof Error?p.message:String(p);console.warn(`Failed to apply state patch:\nCurrent state: ${JSON.stringify(s,null,2)}\nPatch operations: ${JSON.stringify(g,null,2)}\nError: ${m}`)}}return i()}case R.MESSAGES_SNAPSHOT:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onMessagesSnapshotEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});if(o(E),E.stopPropagation!==!0){let{messages:g}=d;t=g,o({messages:t})}return i()}case R.ACTIVITY_SNAPSHOT:{let E=d,g=t.findIndex(h=>h.id===E.messageId),p=g>=0?t[g]:void 0,m=(p==null?void 0:p.role)===\"activity\"?p:void 0,u=(v=E.replace)!=null?v:!0,A=await x(n,t,s,(h,_,H)=>{var F;return(F=h.onActivitySnapshotEvent)==null?void 0:F.call(h,{event:E,messages:_,state:H,agent:e,input:l,activityMessage:m,existingMessage:p})});if(o(A),A.stopPropagation!==!0){let h={id:E.messageId,role:\"activity\",activityType:E.activityType,content:y(E.content)},_;g===-1?(t.push(h),_=h):m?u&&(t[g]=G(N({},m),{activityType:E.activityType,content:y(E.content)})):u&&(t[g]=h,_=h),o({messages:t}),_&&await Promise.all(n.map(H=>{var F;return(F=H.onNewMessage)==null?void 0:F.call(H,{message:_,messages:t,state:s,agent:e,input:l})}))}return i()}case R.ACTIVITY_DELTA:{let E=d,g=t.findIndex(A=>A.id===E.messageId);if(g===-1)return console.warn(`ACTIVITY_DELTA: No message found with ID '${E.messageId}' to apply patch`),i();let p=t[g];if(p.role!==\"activity\")return console.warn(`ACTIVITY_DELTA: Message '${E.messageId}' is not an activity message`),i();let m=p,u=await x(n,t,s,(A,h,_)=>{var H;return(H=A.onActivityDeltaEvent)==null?void 0:H.call(A,{event:E,messages:h,state:_,agent:e,input:l,activityMessage:m})});if(o(u),u.stopPropagation!==!0)try{let A=y((c=m.content)!=null?c:{}),_=ct(A,(b=E.patch)!=null?b:[],!0,!1).newDocument;t[g]=G(N({},m),{content:y(_),activityType:E.activityType}),o({messages:t})}catch(A){let h=A instanceof Error?A.message:String(A);console.warn(`Failed to apply activity patch for '${E.messageId}': ${h}`)}return i()}case R.RAW:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onRawEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});return o(E),i()}case R.CUSTOM:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onCustomEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});return o(E),i()}case R.RUN_STARTED:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onRunStartedEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});if(o(E),E.stopPropagation!==!0){let g=d;if((U=g.input)!=null&&U.messages){for(let p of g.input.messages)t.find(u=>u.id===p.id)||t.push(p);o({messages:t})}}return i()}case R.RUN_FINISHED:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onRunFinishedEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l,result:d.result})});return o(E),i()}case R.RUN_ERROR:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onRunErrorEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});return o(E),i()}case R.STEP_STARTED:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onStepStartedEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});return o(E),i()}case R.STEP_FINISHED:{let E=await x(n,t,s,(g,p,m)=>{var u;return(u=g.onStepFinishedEvent)==null?void 0:u.call(g,{event:d,messages:p,state:m,agent:e,input:l})});return o(E),i()}case R.TEXT_MESSAGE_CHUNK:throw new Error(\"TEXT_MESSAGE_CHUNK must be tranformed before being applied\");case R.TOOL_CALL_CHUNK:throw new Error(\"TOOL_CALL_CHUNK must be tranformed before being applied\");case R.THINKING_START:return i();case R.THINKING_END:return i();case R.THINKING_TEXT_MESSAGE_START:return i();case R.THINKING_TEXT_MESSAGE_CONTENT:return i();case R.THINKING_TEXT_MESSAGE_END:return i()}let S=d.type;return i()}),Lt(),n.length>0?Ot({}):d=>d)};import{EventType as w,AGUIError as L}from\"@ag-ui/core\";import{throwError as O,of as P}from\"rxjs\";import{mergeMap as bt}from\"rxjs/operators\";var z=l=>a=>{let e=new Map,n=new Map,t=!1,s=!1,r=!1,o=new Map,i=!1,d=!1,I=!1,S=()=>{e.clear(),n.clear(),o.clear(),i=!1,d=!1,t=!1,s=!1,I=!0};return a.pipe(bt(T=>{let v=T.type;if(l&&console.debug(\"[VERIFY]:\",JSON.stringify(T)),s)return O(()=>new L(`Cannot send event type '${v}': The run has already errored with 'RUN_ERROR'. No further events can be sent.`));if(t&&v!==w.RUN_ERROR&&v!==w.RUN_STARTED)return O(()=>new L(`Cannot send event type '${v}': The run has already finished with 'RUN_FINISHED'. Start a new run with 'RUN_STARTED'.`));if(r){if(v===w.RUN_STARTED){if(I&&!t)return O(()=>new L(\"Cannot send 'RUN_STARTED' while a run is still active. The previous run must be finished with 'RUN_FINISHED' before starting a new run.\"));t&&S()}}else if(r=!0,v!==w.RUN_STARTED&&v!==w.RUN_ERROR)return O(()=>new L(\"First event must be 'RUN_STARTED'\"));switch(v){case w.TEXT_MESSAGE_START:{let c=T.messageId;return e.has(c)?O(()=>new L(`Cannot send 'TEXT_MESSAGE_START' event: A text message with ID '${c}' is already in progress. Complete it with 'TEXT_MESSAGE_END' first.`)):(e.set(c,!0),P(T))}case w.TEXT_MESSAGE_CONTENT:{let c=T.messageId;return e.has(c)?P(T):O(()=>new L(`Cannot send 'TEXT_MESSAGE_CONTENT' event: No active text message found with ID '${c}'. Start a text message with 'TEXT_MESSAGE_START' first.`))}case w.TEXT_MESSAGE_END:{let c=T.messageId;return e.has(c)?(e.delete(c),P(T)):O(()=>new L(`Cannot send 'TEXT_MESSAGE_END' event: No active text message found with ID '${c}'. A 'TEXT_MESSAGE_START' event must be sent first.`))}case w.TOOL_CALL_START:{let c=T.toolCallId;return n.has(c)?O(()=>new L(`Cannot send 'TOOL_CALL_START' event: A tool call with ID '${c}' is already in progress. Complete it with 'TOOL_CALL_END' first.`)):(n.set(c,!0),P(T))}case w.TOOL_CALL_ARGS:{let c=T.toolCallId;return n.has(c)?P(T):O(()=>new L(`Cannot send 'TOOL_CALL_ARGS' event: No active tool call found with ID '${c}'. Start a tool call with 'TOOL_CALL_START' first.`))}case w.TOOL_CALL_END:{let c=T.toolCallId;return n.has(c)?(n.delete(c),P(T)):O(()=>new L(`Cannot send 'TOOL_CALL_END' event: No active tool call found with ID '${c}'. A 'TOOL_CALL_START' event must be sent first.`))}case w.STEP_STARTED:{let c=T.stepName;return o.has(c)?O(()=>new L(`Step \"${c}\" is already active for 'STEP_STARTED'`)):(o.set(c,!0),P(T))}case w.STEP_FINISHED:{let c=T.stepName;return o.has(c)?(o.delete(c),P(T)):O(()=>new L(`Cannot send 'STEP_FINISHED' for step \"${c}\" that was not started`))}case w.RUN_STARTED:return I=!0,P(T);case w.RUN_FINISHED:{if(o.size>0){let c=Array.from(o.keys()).join(\", \");return O(()=>new L(`Cannot send 'RUN_FINISHED' while steps are still active: ${c}`))}if(e.size>0){let c=Array.from(e.keys()).join(\", \");return O(()=>new L(`Cannot send 'RUN_FINISHED' while text messages are still active: ${c}`))}if(n.size>0){let c=Array.from(n.keys()).join(\", \");return O(()=>new L(`Cannot send 'RUN_FINISHED' while tool calls are still active: ${c}`))}return t=!0,P(T)}case w.RUN_ERROR:return s=!0,P(T);case w.CUSTOM:return P(T);case w.THINKING_TEXT_MESSAGE_START:return i?d?O(()=>new L(\"Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking message is already in progress. Complete it with 'THINKING_TEXT_MESSAGE_END' first.\")):(d=!0,P(T)):O(()=>new L(\"Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking step is not in progress. Create one with 'THINKING_START' first.\"));case w.THINKING_TEXT_MESSAGE_CONTENT:return d?P(T):O(()=>new L(\"Cannot send 'THINKING_TEXT_MESSAGE_CONTENT' event: No active thinking message found. Start a message with 'THINKING_TEXT_MESSAGE_START' first.\"));case w.THINKING_TEXT_MESSAGE_END:return d?(d=!1,P(T)):O(()=>new L(\"Cannot send 'THINKING_TEXT_MESSAGE_END' event: No active thinking message found. A 'THINKING_TEXT_MESSAGE_START' event must be sent first.\"));case w.THINKING_START:return i?O(()=>new L(\"Cannot send 'THINKING_START' event: A thinking step is already in progress. End it with 'THINKING_END' first.\")):(i=!0,P(T));case w.THINKING_END:return i?(i=!1,P(T)):O(()=>new L(\"Cannot send 'THINKING_END' event: No active thinking step found. A 'THINKING_START' event must be sent first.\"));default:return P(T)}}))};import{EventSchemas as $t}from\"@ag-ui/core\";import{Subject as zt,ReplaySubject as Kt}from\"rxjs\";import{Observable as Ft,from as ut,defer as kt,throwError as Et}from\"rxjs\";import{mergeMap as Bt,switchMap as Ut}from\"rxjs/operators\";var tt=(l,a)=>kt(()=>ut(fetch(l,a))).pipe(Ut(e=>{var s;if(!e.ok){let r=e.headers.get(\"content-type\")||\"\";return ut(e.text()).pipe(Bt(o=>{let i=o;if(r.includes(\"application/json\"))try{i=JSON.parse(o)}catch(I){}let d=new Error(`HTTP ${e.status}: ${typeof i==\"string\"?i:JSON.stringify(i)}`);return d.status=e.status,d.payload=i,Et(()=>d)}))}let n={type:\"headers\",status:e.status,headers:e.headers},t=(s=e.body)==null?void 0:s.getReader();return t?new Ft(r=>(r.next(n),(async()=>{try{for(;;){let{done:o,value:i}=await t.read();if(o)break;let d={type:\"data\",data:i};r.next(d)}r.complete()}catch(o){r.error(o)}})(),()=>{t.cancel().catch(o=>{if((o==null?void 0:o.name)!==\"AbortError\")throw o})})):Et(()=>new Error(\"Failed to getReader() from response\"))}));import{Subject as jt}from\"rxjs\";var et=l=>{let a=new jt,e=new TextDecoder(\"utf-8\",{fatal:!1}),n=\"\";l.subscribe({next:s=>{if(s.type!==\"headers\"&&s.type===\"data\"&&s.data){let r=e.decode(s.data,{stream:!0});n+=r;let o=n.split(/\\n\\n/);n=o.pop()||\"\";for(let i of o)t(i)}},error:s=>a.error(s),complete:()=>{n&&(n+=e.decode(),t(n)),a.complete()}});function t(s){let r=s.split(`\n`),o=[];for(let i of r)i.startsWith(\"data: \")&&o.push(i.slice(6));if(o.length>0)try{let i=o.join(`\n`),d=JSON.parse(i);a.next(d)}catch(i){a.error(i)}}return a.asObservable()};import{Subject as Xt}from\"rxjs\";import*as dt from\"@ag-ui/proto\";var nt=l=>{let a=new Xt,e=new Uint8Array(0);l.subscribe({next:t=>{if(t.type!==\"headers\"&&t.type===\"data\"&&t.data){let s=new Uint8Array(e.length+t.data.length);s.set(e,0),s.set(t.data,e.length),e=s,n()}},error:t=>a.error(t),complete:()=>{if(e.length>0)try{n()}catch(t){console.warn(\"Incomplete or invalid protocol buffer data at stream end\")}a.complete()}});function n(){for(;e.length>=4;){let r=4+new DataView(e.buffer,e.byteOffset,4).getUint32(0,!1);if(e.length<r)break;try{let o=e.slice(4,r),i=dt.decode(o);a.next(i),e=e.slice(r)}catch(o){let i=o instanceof Error?o.message:String(o);a.error(new Error(`Failed to decode protocol buffer message: ${i}`));return}}}return a.asObservable()};import*as pt from\"@ag-ui/proto\";import{EventType as Jt}from\"@ag-ui/core\";var st=l=>{let a=new zt,e=new Kt,n=!1;return l.subscribe({next:t=>{e.next(t),t.type===\"headers\"&&!n?(n=!0,t.headers.get(\"content-type\")===pt.AGUI_MEDIA_TYPE?nt(e).subscribe({next:r=>a.next(r),error:r=>a.error(r),complete:()=>a.complete()}):et(e).subscribe({next:r=>{try{let o=$t.parse(r);a.next(o)}catch(o){a.error(o)}},error:r=>{if((r==null?void 0:r.name)===\"AbortError\"){a.next({type:Jt.RUN_ERROR,rawEvent:r}),a.complete();return}return a.error(r)},complete:()=>a.complete()})):n||a.error(new Error(\"No headers event received before data events\"))},error:t=>{e.error(t),a.error(t)},complete:()=>{e.complete()}}),a.asObservable()};import{mergeMap as oe}from\"rxjs/operators\";import{applyPatch as re}from\"fast-json-patch\";import{EventType as D}from\"@ag-ui/core\";import{z as f}from\"zod\";var C=f.enum([\"TextMessageStart\",\"TextMessageContent\",\"TextMessageEnd\",\"ActionExecutionStart\",\"ActionExecutionArgs\",\"ActionExecutionEnd\",\"ActionExecutionResult\",\"AgentStateMessage\",\"MetaEvent\",\"RunStarted\",\"RunFinished\",\"RunError\",\"NodeStarted\",\"NodeFinished\"]),Vt=f.enum([\"LangGraphInterruptEvent\",\"PredictState\",\"Exit\"]),Wt=f.object({type:f.literal(C.enum.TextMessageStart),messageId:f.string(),parentMessageId:f.string().optional(),role:f.string().optional()}),Yt=f.object({type:f.literal(C.enum.TextMessageContent),messageId:f.string(),content:f.string()}),qt=f.object({type:f.literal(C.enum.TextMessageEnd),messageId:f.string()}),Qt=f.object({type:f.literal(C.enum.ActionExecutionStart),actionExecutionId:f.string(),actionName:f.string(),parentMessageId:f.string().optional()}),Zt=f.object({type:f.literal(C.enum.ActionExecutionArgs),actionExecutionId:f.string(),args:f.string()}),te=f.object({type:f.literal(C.enum.ActionExecutionEnd),actionExecutionId:f.string()}),ee=f.object({type:f.literal(C.enum.ActionExecutionResult),actionName:f.string(),actionExecutionId:f.string(),result:f.string()}),ne=f.object({type:f.literal(C.enum.AgentStateMessage),threadId:f.string(),agentName:f.string(),nodeName:f.string(),runId:f.string(),active:f.boolean(),role:f.string(),state:f.string(),running:f.boolean()}),se=f.object({type:f.literal(C.enum.MetaEvent),name:Vt,value:f.any()}),ae=f.object({type:f.literal(C.enum.RunError),message:f.string(),code:f.string().optional()}),Qn=f.discriminatedUnion(\"type\",[Wt,Yt,qt,Qt,Zt,te,ee,ne,se,ae]),Zn=f.object({id:f.string(),role:f.string(),content:f.string(),parentMessageId:f.string().optional()}),ts=f.object({id:f.string(),name:f.string(),arguments:f.any(),parentMessageId:f.string().optional()}),es=f.object({id:f.string(),result:f.any(),actionExecutionId:f.string(),actionName:f.string()});import ie from\"untruncate-json\";var le=l=>{if(typeof l==\"string\")return l;if(!Array.isArray(l))return;let a=l.filter(e=>e.type===\"text\").map(e=>e.text).filter(e=>e.length>0);if(a.length!==0)return a.join(`\n`)},at=(l,a,e)=>n=>{let t={},s=!0,r=!0,o=\"\",i=null,d=null,I=[],S={},T=v=>{typeof v==\"object\"&&v!==null&&(\"messages\"in v&&delete v.messages,t=v)};return n.pipe(oe(v=>{switch(v.type){case D.TEXT_MESSAGE_START:{let c=v;return[{type:C.enum.TextMessageStart,messageId:c.messageId,role:c.role}]}case D.TEXT_MESSAGE_CONTENT:{let c=v;return[{type:C.enum.TextMessageContent,messageId:c.messageId,content:c.delta}]}case D.TEXT_MESSAGE_END:{let c=v;return[{type:C.enum.TextMessageEnd,messageId:c.messageId}]}case D.TOOL_CALL_START:{let c=v;return I.push({id:c.toolCallId,type:\"function\",function:{name:c.toolCallName,arguments:\"\"}}),r=!0,S[c.toolCallId]=c.toolCallName,[{type:C.enum.ActionExecutionStart,actionExecutionId:c.toolCallId,actionName:c.toolCallName,parentMessageId:c.parentMessageId}]}case D.TOOL_CALL_ARGS:{let c=v,b=I.find(E=>E.id===c.toolCallId);if(!b)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${c.toolCallId}'`),[];b.function.arguments+=c.delta;let U=!1;if(d){let E=d.find(g=>g.tool==b.function.name);if(E)try{let g=JSON.parse(ie(b.function.arguments));E.tool_argument&&E.tool_argument in g?(T(G(N({},t),{[E.state_key]:g[E.tool_argument]})),U=!0):E.tool_argument||(T(G(N({},t),{[E.state_key]:g})),U=!0)}catch(g){}}return[{type:C.enum.ActionExecutionArgs,actionExecutionId:c.toolCallId,args:c.delta},...U?[{type:C.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:a,running:s,role:\"assistant\",state:JSON.stringify(t),active:r}]:[]]}case D.TOOL_CALL_END:{let c=v;return[{type:C.enum.ActionExecutionEnd,actionExecutionId:c.toolCallId}]}case D.TOOL_CALL_RESULT:{let c=v;return[{type:C.enum.ActionExecutionResult,actionExecutionId:c.toolCallId,result:c.content,actionName:S[c.toolCallId]||\"unknown\"}]}case D.RAW:return[];case D.CUSTOM:{let c=v;switch(c.name){case\"Exit\":s=!1;break;case\"PredictState\":d=c.value;break}return[{type:C.enum.MetaEvent,name:c.name,value:c.value}]}case D.STATE_SNAPSHOT:return T(v.snapshot),[{type:C.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:a,running:s,role:\"assistant\",state:JSON.stringify(t),active:r}];case D.STATE_DELTA:{let b=re(t,v.delta,!0,!1);return b?(T(b.newDocument),[{type:C.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:a,running:s,role:\"assistant\",state:JSON.stringify(t),active:r}]):[]}case D.MESSAGES_SNAPSHOT:return i=v.messages,[{type:C.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:a,running:s,role:\"assistant\",state:JSON.stringify(N(N({},t),i?{messages:i}:{})),active:!0}];case D.RUN_STARTED:return[];case D.RUN_FINISHED:return i&&(t.messages=i),Object.keys(t).length===0?[]:[{type:C.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:a,running:s,role:\"assistant\",state:JSON.stringify(N(N({},t),i?{messages:ge(i)}:{})),active:!1}];case D.RUN_ERROR:{let c=v;return[{type:C.enum.RunError,message:c.message,code:c.code}]}case D.STEP_STARTED:return o=v.stepName,I=[],d=null,[{type:C.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:a,running:s,role:\"assistant\",state:JSON.stringify(t),active:!0}];case D.STEP_FINISHED:return I=[],d=null,[{type:C.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:a,running:s,role:\"assistant\",state:JSON.stringify(t),active:!1}];default:return[]}}))};function ge(l){var e;let a=[];for(let n of l)if(n.role===\"assistant\"||n.role===\"user\"||n.role===\"system\"){let t=le(n.content);if(t){let s={id:n.id,role:n.role,content:t};a.push(s)}if(n.role===\"assistant\"&&n.toolCalls&&n.toolCalls.length>0)for(let s of n.toolCalls){let r={id:s.id,name:s.function.name,arguments:JSON.parse(s.function.arguments),parentMessageId:n.id};a.push(r)}}else if(n.role===\"tool\"){let t=\"unknown\";for(let r of l)if(r.role===\"assistant\"&&((e=r.toolCalls)!=null&&e.length)){for(let o of r.toolCalls)if(o.id===n.toolCallId){t=o.function.name;break}}let s={id:n.id,result:n.content,actionExecutionId:n.toolCallId,actionName:t};a.push(s)}return a}import{v4 as V}from\"uuid\";import{compareVersions as Te}from\"compare-versions\";import{catchError as ft,map as Tt,tap as Se}from\"rxjs/operators\";import{finalize as St}from\"rxjs/operators\";import{takeUntil as vt}from\"rxjs/operators\";import{pipe as At,from as ve,of as ht,EMPTY as Ae,Subject as yt}from\"rxjs\";import{lastValueFrom as Mt}from\"rxjs\";import{mergeMap as ce,finalize as ue}from\"rxjs\";import{EventType as M}from\"@ag-ui/core\";var j=l=>a=>{let e,n,t,s=()=>{if(!e||t!==\"text\")throw new Error(\"No text message to close\");let i={type:M.TEXT_MESSAGE_END,messageId:e.messageId};return t=void 0,e=void 0,l&&console.debug(\"[TRANSFORM]: TEXT_MESSAGE_END\",JSON.stringify(i)),i},r=()=>{if(!n||t!==\"tool\")throw new Error(\"No tool call to close\");let i={type:M.TOOL_CALL_END,toolCallId:n.toolCallId};return t=void 0,n=void 0,l&&console.debug(\"[TRANSFORM]: TOOL_CALL_END\",JSON.stringify(i)),i},o=()=>t===\"text\"?[s()]:t===\"tool\"?[r()]:[];return a.pipe(ce(i=>{switch(i.type){case M.TEXT_MESSAGE_START:case M.TEXT_MESSAGE_CONTENT:case M.TEXT_MESSAGE_END:case M.TOOL_CALL_START:case M.TOOL_CALL_ARGS:case M.TOOL_CALL_END:case M.TOOL_CALL_RESULT:case M.STATE_SNAPSHOT:case M.STATE_DELTA:case M.MESSAGES_SNAPSHOT:case M.CUSTOM:case M.RUN_STARTED:case M.RUN_FINISHED:case M.RUN_ERROR:case M.STEP_STARTED:case M.STEP_FINISHED:case M.THINKING_START:case M.THINKING_END:case M.THINKING_TEXT_MESSAGE_START:case M.THINKING_TEXT_MESSAGE_CONTENT:case M.THINKING_TEXT_MESSAGE_END:return[...o(),i];case M.RAW:case M.ACTIVITY_SNAPSHOT:case M.ACTIVITY_DELTA:return[i];case M.TEXT_MESSAGE_CHUNK:let I=i,S=[];if((t!==\"text\"||I.messageId!==void 0&&I.messageId!==(e==null?void 0:e.messageId))&&S.push(...o()),t!==\"text\"){if(I.messageId===void 0)throw new Error(\"First TEXT_MESSAGE_CHUNK must have a messageId\");e={messageId:I.messageId},t=\"text\";let c={type:M.TEXT_MESSAGE_START,messageId:I.messageId,role:I.role||\"assistant\"};S.push(c),l&&console.debug(\"[TRANSFORM]: TEXT_MESSAGE_START\",JSON.stringify(c))}if(I.delta!==void 0){let c={type:M.TEXT_MESSAGE_CONTENT,messageId:e.messageId,delta:I.delta};S.push(c),l&&console.debug(\"[TRANSFORM]: TEXT_MESSAGE_CONTENT\",JSON.stringify(c))}return S;case M.TOOL_CALL_CHUNK:let T=i,v=[];if((t!==\"tool\"||T.toolCallId!==void 0&&T.toolCallId!==(n==null?void 0:n.toolCallId))&&v.push(...o()),t!==\"tool\"){if(T.toolCallId===void 0)throw new Error(\"First TOOL_CALL_CHUNK must have a toolCallId\");if(T.toolCallName===void 0)throw new Error(\"First TOOL_CALL_CHUNK must have a toolCallName\");n={toolCallId:T.toolCallId,toolCallName:T.toolCallName,parentMessageId:T.parentMessageId},t=\"tool\";let c={type:M.TOOL_CALL_START,toolCallId:T.toolCallId,toolCallName:T.toolCallName,parentMessageId:T.parentMessageId};v.push(c),l&&console.debug(\"[TRANSFORM]: TOOL_CALL_START\",JSON.stringify(c))}if(T.delta!==void 0){let c={type:M.TOOL_CALL_ARGS,toolCallId:n.toolCallId,delta:T.delta};v.push(c),l&&console.debug(\"[TRANSFORM]: TOOL_CALL_ARGS\",JSON.stringify(c))}return v}let d=i.type;return[]}),ue(()=>{o()}))};import{AGUIConnectNotImplementedError as Ct}from\"@ag-ui/core\";import{ReplaySubject as Ee}from\"rxjs\";import{concatMap as de}from\"rxjs/operators\";var k=class{runNext(a,e){return e.run(a).pipe(j(!1))}runNextWithState(a,e){let n=y(a.messages||[]),t=y(a.state||{}),s=new Ee;return $(a,s,e,[]).subscribe(o=>{o.messages!==void 0&&(n=o.messages),o.state!==void 0&&(t=o.state)}),this.runNext(a,e).pipe(de(async o=>(s.next(o),await new Promise(i=>setTimeout(i,0)),{event:o,messages:y(n),state:y(t)})))}},K=class extends k{constructor(e){super();this.fn=e}run(e,n){return this.fn(e,n)}};import{EventType as q}from\"@ag-ui/core\";import{filter as pe}from\"rxjs/operators\";var Q=class extends k{constructor(e){super();this.blockedToolCallIds=new Set;if(e.allowedToolCalls&&e.disallowedToolCalls)throw new Error(\"Cannot specify both allowedToolCalls and disallowedToolCalls\");if(!e.allowedToolCalls&&!e.disallowedToolCalls)throw new Error(\"Must specify either allowedToolCalls or disallowedToolCalls\");e.allowedToolCalls?this.allowedTools=new Set(e.allowedToolCalls):e.disallowedToolCalls&&(this.disallowedTools=new Set(e.disallowedToolCalls))}run(e,n){return this.runNext(e,n).pipe(pe(t=>{if(t.type===q.TOOL_CALL_START){let s=t;return this.shouldFilterTool(s.toolCallName)?(this.blockedToolCallIds.add(s.toolCallId),!1):!0}if(t.type===q.TOOL_CALL_ARGS){let s=t;return!this.blockedToolCallIds.has(s.toolCallId)}if(t.type===q.TOOL_CALL_END){let s=t;return!this.blockedToolCallIds.has(s.toolCallId)}if(t.type===q.TOOL_CALL_RESULT){let s=t;return this.blockedToolCallIds.has(s.toolCallId)?(this.blockedToolCallIds.delete(s.toolCallId),!1):!0}return!0}))}shouldFilterTool(e){return this.allowedTools?!this.allowedTools.has(e):this.disallowedTools?this.disallowedTools.has(e):!1}};function me(l){let a=l.content;if(Array.isArray(a)){let e=a.filter(n=>typeof n==\"object\"&&n!==null&&\"type\"in n&&n.type===\"text\"&&typeof n.text==\"string\").map(n=>n.text).join(\"\");return G(N({},l),{content:e})}return typeof a==\"string\"?l:G(N({},l),{content:\"\"})}var J=class extends k{run(a,e){let r=a,{parentRunId:n}=r,t=gt(r,[\"parentRunId\"]),s=G(N({},t),{messages:t.messages.map(me)});return this.runNext(s,e)}};var mt={name:\"@ag-ui/client\",author:\"Markus Ecker <markus.ecker@gmail.com>\",version:\"0.0.42\",private:!1,publishConfig:{access:\"public\"},main:\"./dist/index.js\",module:\"./dist/index.mjs\",types:\"./dist/index.d.ts\",sideEffects:!1,files:[\"dist/**\",\"README.md\"],scripts:{build:\"tsup\",dev:\"tsup --watch\",clean:\"rm -rf dist .turbo node_modules\",typecheck:\"tsc --noEmit\",test:\"jest\",\"link:global\":\"pnpm link --global\",\"unlink:global\":\"pnpm unlink --global\"},dependencies:{\"@ag-ui/core\":\"workspace:*\",\"@ag-ui/encoder\":\"workspace:*\",\"@ag-ui/proto\":\"workspace:*\",\"@types/uuid\":\"^10.0.0\",\"compare-versions\":\"^6.1.1\",\"fast-json-patch\":\"^3.1.1\",rxjs:\"7.8.1\",\"untruncate-json\":\"^0.0.1\",uuid:\"^11.1.0\",zod:\"^3.22.4\"},devDependencies:{\"@types/jest\":\"^29.5.14\",\"@types/node\":\"^20.11.19\",jest:\"^29.7.0\",\"ts-jest\":\"^29.1.2\",tsup:\"^8.0.2\",typescript:\"^5.3.3\"}};var W=class{constructor({agentId:a,description:e,threadId:n,initialMessages:t,initialState:s,debug:r}={}){this.debug=!1;this.subscribers=[];this.isRunning=!1;this.middlewares=[];this.agentId=a,this.description=e!=null?e:\"\",this.threadId=n!=null?n:V(),this.messages=y(t!=null?t:[]),this.state=y(s!=null?s:{}),this.debug=r!=null?r:!1,Te(this.maxVersion,\"0.0.39\")<=0&&this.middlewares.unshift(new J)}get maxVersion(){return mt.version}subscribe(a){return this.subscribers.push(a),{unsubscribe:()=>{this.subscribers=this.subscribers.filter(e=>e!==a)}}}use(...a){let e=a.map(n=>typeof n==\"function\"?new K(n):n);return this.middlewares.push(...e),this}async runAgent(a,e){var n;try{this.isRunning=!0,this.agentId=(n=this.agentId)!=null?n:V();let t=this.prepareRunAgentInput(a),s,r=new Set(this.messages.map(S=>S.id)),o=[{onRunFinishedEvent:S=>{s=S.result}},...this.subscribers,e!=null?e:{}];await this.onInitialize(t,o),this.activeRunDetach$=new yt;let i;this.activeRunCompletionPromise=new Promise(S=>{i=S});let d=At(()=>this.middlewares.length===0?this.run(t):this.middlewares.reduceRight((T,v)=>({run:c=>v.run(c,T)}),this).run(t),j(this.debug),z(this.debug),S=>S.pipe(vt(this.activeRunDetach$)),S=>this.apply(t,S,o),S=>this.processApplyEvents(t,S,o),ft(S=>(this.isRunning=!1,this.onError(t,S,o))),St(()=>{this.isRunning=!1,this.onFinalize(t,o),i==null||i(),i=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}));await Mt(d(ht(null)));let I=y(this.messages).filter(S=>!r.has(S.id));return{result:s,newMessages:I}}finally{this.isRunning=!1}}connect(a){throw new Ct}async connectAgent(a,e){var n;try{this.isRunning=!0,this.agentId=(n=this.agentId)!=null?n:V();let t=this.prepareRunAgentInput(a),s,r=new Set(this.messages.map(S=>S.id)),o=[{onRunFinishedEvent:S=>{s=S.result}},...this.subscribers,e!=null?e:{}];await this.onInitialize(t,o),this.activeRunDetach$=new yt;let i;this.activeRunCompletionPromise=new Promise(S=>{i=S});let d=At(()=>this.connect(t),j(this.debug),z(this.debug),S=>S.pipe(vt(this.activeRunDetach$)),S=>this.apply(t,S,o),S=>this.processApplyEvents(t,S,o),ft(S=>(this.isRunning=!1,S instanceof Ct?Ae:this.onError(t,S,o))),St(()=>{this.isRunning=!1,this.onFinalize(t,o),i==null||i(),i=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}));await Mt(d(ht(null)));let I=y(this.messages).filter(S=>!r.has(S.id));return{result:s,newMessages:I}}finally{this.isRunning=!1}}abortRun(){}async detachActiveRun(){var e,n;if(!this.activeRunDetach$)return;let a=(e=this.activeRunCompletionPromise)!=null?e:Promise.resolve();this.activeRunDetach$.next(),(n=this.activeRunDetach$)==null||n.complete(),await a}apply(a,e,n){return $(a,e,this,n)}processApplyEvents(a,e,n){return e.pipe(Se(t=>{t.messages&&(this.messages=t.messages,n.forEach(s=>{var r;(r=s.onMessagesChanged)==null||r.call(s,{messages:this.messages,state:this.state,agent:this,input:a})})),t.state&&(this.state=t.state,n.forEach(s=>{var r;(r=s.onStateChanged)==null||r.call(s,{state:this.state,messages:this.messages,agent:this,input:a})}))}))}prepareRunAgentInput(a){var t,s,r;let n=y(this.messages).filter(o=>o.role!==\"activity\");return{threadId:this.threadId,runId:(a==null?void 0:a.runId)||V(),tools:y((t=a==null?void 0:a.tools)!=null?t:[]),context:y((s=a==null?void 0:a.context)!=null?s:[]),forwardedProps:y((r=a==null?void 0:a.forwardedProps)!=null?r:{}),state:y(this.state),messages:n}}async onInitialize(a,e){let n=await x(e,this.messages,this.state,(t,s,r)=>{var o;return(o=t.onRunInitialized)==null?void 0:o.call(t,{messages:s,state:r,agent:this,input:a})});(n.messages!==void 0||n.state!==void 0)&&(n.messages&&(this.messages=n.messages,a.messages=n.messages,e.forEach(t=>{var s;(s=t.onMessagesChanged)==null||s.call(t,{messages:this.messages,state:this.state,agent:this,input:a})})),n.state&&(this.state=n.state,a.state=n.state,e.forEach(t=>{var s;(s=t.onStateChanged)==null||s.call(t,{state:this.state,messages:this.messages,agent:this,input:a})})))}onError(a,e,n){return ve(x(n,this.messages,this.state,(t,s,r)=>{var o;return(o=t.onRunFailed)==null?void 0:o.call(t,{error:e,messages:s,state:r,agent:this,input:a})})).pipe(Tt(t=>{let s=t;if((s.messages!==void 0||s.state!==void 0)&&(s.messages!==void 0&&(this.messages=s.messages,n.forEach(r=>{var o;(o=r.onMessagesChanged)==null||o.call(r,{messages:this.messages,state:this.state,agent:this,input:a})})),s.state!==void 0&&(this.state=s.state,n.forEach(r=>{var o;(o=r.onStateChanged)==null||o.call(r,{state:this.state,messages:this.messages,agent:this,input:a})}))),s.stopPropagation!==!0)throw console.error(\"Agent execution failed:\",e),e;return{}}))}async onFinalize(a,e){let n=await x(e,this.messages,this.state,(t,s,r)=>{var o;return(o=t.onRunFinalized)==null?void 0:o.call(t,{messages:s,state:r,agent:this,input:a})});(n.messages!==void 0||n.state!==void 0)&&(n.messages!==void 0&&(this.messages=n.messages,e.forEach(t=>{var s;(s=t.onMessagesChanged)==null||s.call(t,{messages:this.messages,state:this.state,agent:this,input:a})})),n.state!==void 0&&(this.state=n.state,e.forEach(t=>{var s;(s=t.onStateChanged)==null||s.call(t,{state:this.state,messages:this.messages,agent:this,input:a})})))}clone(){let a=Object.create(Object.getPrototypeOf(this));return a.agentId=this.agentId,a.description=this.description,a.threadId=this.threadId,a.messages=y(this.messages),a.state=y(this.state),a.debug=this.debug,a.isRunning=this.isRunning,a.subscribers=[...this.subscribers],a.middlewares=[...this.middlewares],a}addMessage(a){this.messages.push(a),(async()=>{var e,n,t;for(let s of this.subscribers)await((e=s.onNewMessage)==null?void 0:e.call(s,{message:a,messages:this.messages,state:this.state,agent:this}));if(a.role===\"assistant\"&&a.toolCalls)for(let s of a.toolCalls)for(let r of this.subscribers)await((n=r.onNewToolCall)==null?void 0:n.call(r,{toolCall:s,messages:this.messages,state:this.state,agent:this}));for(let s of this.subscribers)await((t=s.onMessagesChanged)==null?void 0:t.call(s,{messages:this.messages,state:this.state,agent:this}))})()}addMessages(a){this.messages.push(...a),(async()=>{var e,n,t;for(let s of a){for(let r of this.subscribers)await((e=r.onNewMessage)==null?void 0:e.call(r,{message:s,messages:this.messages,state:this.state,agent:this}));if(s.role===\"assistant\"&&s.toolCalls)for(let r of s.toolCalls)for(let o of this.subscribers)await((n=o.onNewToolCall)==null?void 0:n.call(o,{toolCall:r,messages:this.messages,state:this.state,agent:this}))}for(let s of this.subscribers)await((t=s.onMessagesChanged)==null?void 0:t.call(s,{messages:this.messages,state:this.state,agent:this}))})()}setMessages(a){this.messages=y(a),(async()=>{var e;for(let n of this.subscribers)await((e=n.onMessagesChanged)==null?void 0:e.call(n,{messages:this.messages,state:this.state,agent:this}))})()}setState(a){this.state=y(a),(async()=>{var e;for(let n of this.subscribers)await((e=n.onStateChanged)==null?void 0:e.call(n,{messages:this.messages,state:this.state,agent:this}))})()}legacy_to_be_removed_runAgentBridged(a){var t;this.agentId=(t=this.agentId)!=null?t:V();let e=this.prepareRunAgentInput(a);return(this.middlewares.length===0?this.run(e):this.middlewares.reduceRight((r,o)=>({run:i=>o.run(i,r)}),this).run(e)).pipe(j(this.debug),z(this.debug),at(this.threadId,e.runId,this.agentId),s=>s.pipe(Tt(r=>(this.debug&&console.debug(\"[LEGACY]:\",JSON.stringify(r)),r))))}};var ot=class extends W{constructor(e){var n;super(e);this.abortController=new AbortController;this.url=e.url,this.headers=y((n=e.headers)!=null?n:{})}requestInit(e){return{method:\"POST\",headers:G(N({},this.headers),{\"Content-Type\":\"application/json\",Accept:\"text/event-stream\"}),body:JSON.stringify(e),signal:this.abortController.signal}}runAgent(e,n){var t;return this.abortController=(t=e==null?void 0:e.abortController)!=null?t:new AbortController,super.runAgent(e,n)}abortRun(){this.abortController.abort(),super.abortRun()}run(e){let n=tt(this.url,this.requestInit(e));return st(n)}clone(){var s;let e=super.clone();e.url=this.url,e.headers=y((s=this.headers)!=null?s:{});let n=new AbortController,t=this.abortController.signal;return t.aborted&&n.abort(t.reason),e.abortController=n,e}};import{EventType as B}from\"@ag-ui/core\";function he(l){let a=[],e=new Map,n=new Map;for(let t of l)if(t.type===B.TEXT_MESSAGE_START){let s=t,r=s.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]});let o=e.get(r);o.start=s}else if(t.type===B.TEXT_MESSAGE_CONTENT){let s=t,r=s.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]}),e.get(r).contents.push(s)}else if(t.type===B.TEXT_MESSAGE_END){let s=t,r=s.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]});let o=e.get(r);o.end=s,Rt(r,o,a),e.delete(r)}else if(t.type===B.TOOL_CALL_START){let s=t,r=s.toolCallId;n.has(r)||n.set(r,{args:[],otherEvents:[]});let o=n.get(r);o.start=s}else if(t.type===B.TOOL_CALL_ARGS){let s=t,r=s.toolCallId;n.has(r)||n.set(r,{args:[],otherEvents:[]}),n.get(r).args.push(s)}else if(t.type===B.TOOL_CALL_END){let s=t,r=s.toolCallId;n.has(r)||n.set(r,{args:[],otherEvents:[]});let o=n.get(r);o.end=s,It(r,o,a),n.delete(r)}else{let s=!1;for(let[r,o]of e)if(o.start&&!o.end){o.otherEvents.push(t),s=!0;break}if(!s){for(let[r,o]of n)if(o.start&&!o.end){o.otherEvents.push(t),s=!0;break}}s||a.push(t)}for(let[t,s]of e)Rt(t,s,a);for(let[t,s]of n)It(t,s,a);return a}function Rt(l,a,e){if(a.start&&e.push(a.start),a.contents.length>0){let n=a.contents.map(s=>s.delta).join(\"\"),t={type:B.TEXT_MESSAGE_CONTENT,messageId:l,delta:n};e.push(t)}a.end&&e.push(a.end);for(let n of a.otherEvents)e.push(n)}function It(l,a,e){if(a.start&&e.push(a.start),a.args.length>0){let n=a.args.map(s=>s.delta).join(\"\"),t={type:B.TOOL_CALL_ARGS,toolCallId:l,delta:n};e.push(t)}a.end&&e.push(a.end);for(let n of a.otherEvents)e.push(n)}export*from\"@ag-ui/core\";export{W as AbstractAgent,J as BackwardCompatibility_0_0_39,Q as FilterToolCallsMiddleware,K as FunctionMiddleware,ot as HttpAgent,k as Middleware,he as compactEvents,at as convertToLegacyEvents,$ as defaultApplyEvents,nt as parseProtoStream,et as parseSSEStream,Re as randomUUID,tt as runHttpRequest,y as structuredClone_,j as transformChunks,st as transformHttpEventStream,z as verifyEvents};\n//# sourceMappingURL=index.mjs.map","\"use strict\";\n/**\n * Sometimes you don't allow every type to be partially parsed.\n * For example, you may not want a partial number because it may increase its size gradually before it's complete.\n * In this case, you can use the `Allow` object to control what types you allow to be partially parsed.\n * @module\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Allow = exports.ALL = exports.COLLECTION = exports.ATOM = exports.SPECIAL = exports.INF = exports._INFINITY = exports.INFINITY = exports.NAN = exports.BOOL = exports.NULL = exports.OBJ = exports.ARR = exports.NUM = exports.STR = void 0;\n/**\n * allow partial strings like `\"hello \\u12` to be parsed as `\"hello \"`\n */\nexports.STR = 0b000000001;\n/**\n * allow partial numbers like `123.` to be parsed as `123`\n */\nexports.NUM = 0b000000010;\n/**\n * allow partial arrays like `[1, 2,` to be parsed as `[1, 2]`\n */\nexports.ARR = 0b000000100;\n/**\n * allow partial objects like `{\"a\": 1, \"b\":` to be parsed as `{\"a\": 1}`\n */\nexports.OBJ = 0b000001000;\n/**\n * allow `nu` to be parsed as `null`\n */\nexports.NULL = 0b000010000;\n/**\n * allow `tr` to be parsed as `true`, and `fa` to be parsed as `false`\n */\nexports.BOOL = 0b000100000;\n/**\n * allow `Na` to be parsed as `NaN`\n */\nexports.NAN = 0b001000000;\n/**\n * allow `Inf` to be parsed as `Infinity`\n */\nexports.INFINITY = 0b010000000;\n/**\n * allow `-Inf` to be parsed as `-Infinity`\n */\nexports._INFINITY = 0b100000000;\nexports.INF = exports.INFINITY | exports._INFINITY;\nexports.SPECIAL = exports.NULL | exports.BOOL | exports.INF | exports.NAN;\nexports.ATOM = exports.STR | exports.NUM | exports.SPECIAL;\nexports.COLLECTION = exports.ARR | exports.OBJ;\nexports.ALL = exports.ATOM | exports.COLLECTION;\n/**\n * Control what types you allow to be partially parsed.\n * The default is to allow all types to be partially parsed, which in most casees is the best option.\n * @example\n * If you don't want to allow partial objects, you can use the following code:\n * ```ts\n * import { Allow, parse } from \"partial-json\";\n * parse(`[{\"a\": 1, \"b\": 2}, {\"a\": 3,`, Allow.ARR); // [ { a: 1, b: 2 } ]\n * ```\n * Or you can use `~` to disallow a type:\n * ```ts\n * parse(`[{\"a\": 1, \"b\": 2}, {\"a\": 3,`, ~Allow.OBJ); // [ { a: 1, b: 2 } ]\n * ```\n * @example\n * If you don't want to allow partial strings, you can use the following code:\n * ```ts\n * import { Allow, parse } from \"partial-json\";\n * parse(`[\"complete string\", \"incompl`, ~Allow.STR); // [ 'complete string' ]\n * ```\n */\nexports.Allow = { STR: exports.STR, NUM: exports.NUM, ARR: exports.ARR, OBJ: exports.OBJ, NULL: exports.NULL, BOOL: exports.BOOL, NAN: exports.NAN, INFINITY: exports.INFINITY, _INFINITY: exports._INFINITY, INF: exports.INF, SPECIAL: exports.SPECIAL, ATOM: exports.ATOM, COLLECTION: exports.COLLECTION, ALL: exports.ALL };\nexports.default = exports.Allow;\n","// src/utils.ts\nimport { v4 as uuidv4 } from \"uuid\";\nimport * as PartialJSON from \"partial-json\";\nfunction randomUUID() {\n return uuidv4();\n}\nfunction partialJSONParse(json) {\n try {\n return PartialJSON.parse(json);\n } catch (error) {\n return {};\n }\n}\n\n// src/logger.ts\nvar logger = console;\n\n// src/constants.ts\nvar DEFAULT_AGENT_ID = \"default\";\n\n// src/finalize-events.ts\nimport {\n EventType\n} from \"@ag-ui/client\";\nvar defaultStopMessage = \"Run stopped by user\";\nvar defaultAbruptEndMessage = \"Run ended without emitting a terminal event\";\nfunction finalizeRunEvents(events, options = {}) {\n const { stopRequested = false, interruptionMessage } = options;\n const resolvedStopMessage = interruptionMessage ?? defaultStopMessage;\n const resolvedAbruptMessage = interruptionMessage && interruptionMessage !== defaultStopMessage ? interruptionMessage : defaultAbruptEndMessage;\n const appended = [];\n const openMessageIds = /* @__PURE__ */ new Set();\n const openToolCalls = /* @__PURE__ */ new Map();\n for (const event of events) {\n switch (event.type) {\n case EventType.TEXT_MESSAGE_START: {\n const messageId = event.messageId;\n if (typeof messageId === \"string\") {\n openMessageIds.add(messageId);\n }\n break;\n }\n case EventType.TEXT_MESSAGE_END: {\n const messageId = event.messageId;\n if (typeof messageId === \"string\") {\n openMessageIds.delete(messageId);\n }\n break;\n }\n case EventType.TOOL_CALL_START: {\n const toolCallId = event.toolCallId;\n if (typeof toolCallId === \"string\") {\n openToolCalls.set(toolCallId, {\n hasEnd: false,\n hasResult: false\n });\n }\n break;\n }\n case EventType.TOOL_CALL_END: {\n const toolCallId = event.toolCallId;\n const info = toolCallId ? openToolCalls.get(toolCallId) : void 0;\n if (info) {\n info.hasEnd = true;\n }\n break;\n }\n case EventType.TOOL_CALL_RESULT: {\n const toolCallId = event.toolCallId;\n const info = toolCallId ? openToolCalls.get(toolCallId) : void 0;\n if (info) {\n info.hasResult = true;\n }\n break;\n }\n default:\n break;\n }\n }\n const hasRunFinished = events.some((event) => event.type === EventType.RUN_FINISHED);\n const hasRunError = events.some((event) => event.type === EventType.RUN_ERROR);\n const hasTerminalEvent = hasRunFinished || hasRunError;\n const terminalEventMissing = !hasTerminalEvent;\n for (const messageId of openMessageIds) {\n const endEvent = {\n type: EventType.TEXT_MESSAGE_END,\n messageId\n };\n events.push(endEvent);\n appended.push(endEvent);\n }\n for (const [toolCallId, info] of openToolCalls) {\n if (!info.hasEnd) {\n const endEvent = {\n type: EventType.TOOL_CALL_END,\n toolCallId\n };\n events.push(endEvent);\n appended.push(endEvent);\n }\n if (terminalEventMissing && !info.hasResult) {\n const resultEvent = {\n type: EventType.TOOL_CALL_RESULT,\n toolCallId,\n messageId: `${toolCallId ?? randomUUID()}-result`,\n role: \"tool\",\n content: JSON.stringify(\n stopRequested ? {\n status: \"stopped\",\n reason: \"stop_requested\",\n message: resolvedStopMessage\n } : {\n status: \"error\",\n reason: \"missing_terminal_event\",\n message: resolvedAbruptMessage\n }\n )\n };\n events.push(resultEvent);\n appended.push(resultEvent);\n }\n }\n if (terminalEventMissing) {\n if (stopRequested) {\n const finishedEvent = {\n type: EventType.RUN_FINISHED\n };\n events.push(finishedEvent);\n appended.push(finishedEvent);\n } else {\n const errorEvent = {\n type: EventType.RUN_ERROR,\n message: resolvedAbruptMessage,\n code: \"INCOMPLETE_STREAM\"\n };\n events.push(errorEvent);\n appended.push(errorEvent);\n }\n }\n return appended;\n}\n\n// src/transcription-errors.ts\nvar TranscriptionErrorCode = /* @__PURE__ */ ((TranscriptionErrorCode2) => {\n TranscriptionErrorCode2[\"SERVICE_NOT_CONFIGURED\"] = \"service_not_configured\";\n TranscriptionErrorCode2[\"INVALID_AUDIO_FORMAT\"] = \"invalid_audio_format\";\n TranscriptionErrorCode2[\"AUDIO_TOO_LONG\"] = \"audio_too_long\";\n TranscriptionErrorCode2[\"AUDIO_TOO_SHORT\"] = \"audio_too_short\";\n TranscriptionErrorCode2[\"RATE_LIMITED\"] = \"rate_limited\";\n TranscriptionErrorCode2[\"AUTH_FAILED\"] = \"auth_failed\";\n TranscriptionErrorCode2[\"PROVIDER_ERROR\"] = \"provider_error\";\n TranscriptionErrorCode2[\"NETWORK_ERROR\"] = \"network_error\";\n TranscriptionErrorCode2[\"INVALID_REQUEST\"] = \"invalid_request\";\n return TranscriptionErrorCode2;\n})(TranscriptionErrorCode || {});\nvar TranscriptionErrors = {\n serviceNotConfigured: () => ({\n error: \"service_not_configured\" /* SERVICE_NOT_CONFIGURED */,\n message: \"Transcription service is not configured\",\n retryable: false\n }),\n invalidAudioFormat: (format, supported) => ({\n error: \"invalid_audio_format\" /* INVALID_AUDIO_FORMAT */,\n message: `Unsupported audio format: ${format}. Supported: ${supported.join(\", \")}`,\n retryable: false\n }),\n invalidRequest: (details) => ({\n error: \"invalid_request\" /* INVALID_REQUEST */,\n message: details,\n retryable: false\n }),\n rateLimited: () => ({\n error: \"rate_limited\" /* RATE_LIMITED */,\n message: \"Rate limited. Please try again later.\",\n retryable: true\n }),\n authFailed: () => ({\n error: \"auth_failed\" /* AUTH_FAILED */,\n message: \"Authentication failed with transcription provider\",\n retryable: false\n }),\n providerError: (message) => ({\n error: \"provider_error\" /* PROVIDER_ERROR */,\n message,\n retryable: true\n }),\n networkError: (message = \"Network error during transcription\") => ({\n error: \"network_error\" /* NETWORK_ERROR */,\n message,\n retryable: true\n }),\n audioTooLong: () => ({\n error: \"audio_too_long\" /* AUDIO_TOO_LONG */,\n message: \"Audio file is too long\",\n retryable: false\n }),\n audioTooShort: () => ({\n error: \"audio_too_short\" /* AUDIO_TOO_SHORT */,\n message: \"Audio is too short to transcribe\",\n retryable: false\n })\n};\nexport {\n DEFAULT_AGENT_ID,\n TranscriptionErrorCode,\n TranscriptionErrors,\n finalizeRunEvents,\n logger,\n partialJSONParse,\n randomUUID\n};\n//# sourceMappingURL=index.mjs.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Allow = exports.MalformedJSON = exports.PartialJSON = exports.parseJSON = exports.parse = void 0;\nconst options_1 = require(\"./options\");\nObject.defineProperty(exports, \"Allow\", { enumerable: true, get: function () { return options_1.Allow; } });\n__exportStar(require(\"./options\"), exports);\nclass PartialJSON extends Error {\n}\nexports.PartialJSON = PartialJSON;\nclass MalformedJSON extends Error {\n}\nexports.MalformedJSON = MalformedJSON;\n/**\n * Parse incomplete JSON\n * @param {string} jsonString Partial JSON to be parsed\n * @param {number} allowPartial Specify what types are allowed to be partial, see {@link Allow} for details\n * @returns The parsed JSON\n * @throws {PartialJSON} If the JSON is incomplete (related to the `allow` parameter)\n * @throws {MalformedJSON} If the JSON is malformed\n */\nfunction parseJSON(jsonString, allowPartial = options_1.Allow.ALL) {\n if (typeof jsonString !== \"string\") {\n throw new TypeError(`expecting str, got ${typeof jsonString}`);\n }\n if (!jsonString.trim()) {\n throw new Error(`${jsonString} is empty`);\n }\n return _parseJSON(jsonString.trim(), allowPartial);\n}\nexports.parseJSON = parseJSON;\n;\nconst _parseJSON = (jsonString, allow) => {\n const length = jsonString.length;\n let index = 0;\n const markPartialJSON = (msg) => {\n throw new PartialJSON(`${msg} at position ${index}`);\n };\n const throwMalformedError = (msg) => {\n throw new MalformedJSON(`${msg} at position ${index}`);\n };\n const parseAny = () => {\n skipBlank();\n if (index >= length)\n markPartialJSON(\"Unexpected end of input\");\n if (jsonString[index] === '\"')\n return parseStr();\n if (jsonString[index] === \"{\")\n return parseObj();\n if (jsonString[index] === \"[\")\n return parseArr();\n if (jsonString.substring(index, index + 4) === \"null\" || (options_1.Allow.NULL & allow && length - index < 4 && \"null\".startsWith(jsonString.substring(index)))) {\n index += 4;\n return null;\n }\n if (jsonString.substring(index, index + 4) === \"true\" || (options_1.Allow.BOOL & allow && length - index < 4 && \"true\".startsWith(jsonString.substring(index)))) {\n index += 4;\n return true;\n }\n if (jsonString.substring(index, index + 5) === \"false\" || (options_1.Allow.BOOL & allow && length - index < 5 && \"false\".startsWith(jsonString.substring(index)))) {\n index += 5;\n return false;\n }\n if (jsonString.substring(index, index + 8) === \"Infinity\" || (options_1.Allow.INFINITY & allow && length - index < 8 && \"Infinity\".startsWith(jsonString.substring(index)))) {\n index += 8;\n return Infinity;\n }\n if (jsonString.substring(index, index + 9) === \"-Infinity\" || (options_1.Allow._INFINITY & allow && 1 < length - index && length - index < 9 && \"-Infinity\".startsWith(jsonString.substring(index)))) {\n index += 9;\n return -Infinity;\n }\n if (jsonString.substring(index, index + 3) === \"NaN\" || (options_1.Allow.NAN & allow && length - index < 3 && \"NaN\".startsWith(jsonString.substring(index)))) {\n index += 3;\n return NaN;\n }\n return parseNum();\n };\n const parseStr = () => {\n const start = index;\n let escape = false;\n index++; // skip initial quote\n while (index < length && (jsonString[index] !== '\"' || (escape && jsonString[index - 1] === \"\\\\\"))) {\n escape = jsonString[index] === \"\\\\\" ? !escape : false;\n index++;\n }\n if (jsonString.charAt(index) == '\"') {\n try {\n return JSON.parse(jsonString.substring(start, ++index - Number(escape)));\n }\n catch (e) {\n throwMalformedError(String(e));\n }\n }\n else if (options_1.Allow.STR & allow) {\n try {\n return JSON.parse(jsonString.substring(start, index - Number(escape)) + '\"');\n }\n catch (e) {\n // SyntaxError: Invalid escape sequence\n return JSON.parse(jsonString.substring(start, jsonString.lastIndexOf(\"\\\\\")) + '\"');\n }\n }\n markPartialJSON(\"Unterminated string literal\");\n };\n const parseObj = () => {\n index++; // skip initial brace\n skipBlank();\n const obj = {};\n try {\n while (jsonString[index] !== \"}\") {\n skipBlank();\n if (index >= length && options_1.Allow.OBJ & allow)\n return obj;\n const key = parseStr();\n skipBlank();\n index++; // skip colon\n try {\n const value = parseAny();\n obj[key] = value;\n }\n catch (e) {\n if (options_1.Allow.OBJ & allow)\n return obj;\n else\n throw e;\n }\n skipBlank();\n if (jsonString[index] === \",\")\n index++; // skip comma\n }\n }\n catch (e) {\n if (options_1.Allow.OBJ & allow)\n return obj;\n else\n markPartialJSON(\"Expected '}' at end of object\");\n }\n index++; // skip final brace\n return obj;\n };\n const parseArr = () => {\n index++; // skip initial bracket\n const arr = [];\n try {\n while (jsonString[index] !== \"]\") {\n arr.push(parseAny());\n skipBlank();\n if (jsonString[index] === \",\") {\n index++; // skip comma\n }\n }\n }\n catch (e) {\n if (options_1.Allow.ARR & allow) {\n return arr;\n }\n markPartialJSON(\"Expected ']' at end of array\");\n }\n index++; // skip final bracket\n return arr;\n };\n const parseNum = () => {\n if (index === 0) {\n if (jsonString === \"-\")\n throwMalformedError(\"Not sure what '-' is\");\n try {\n return JSON.parse(jsonString);\n }\n catch (e) {\n if (options_1.Allow.NUM & allow)\n try {\n return JSON.parse(jsonString.substring(0, jsonString.lastIndexOf(\"e\")));\n }\n catch (e) { }\n throwMalformedError(String(e));\n }\n }\n const start = index;\n if (jsonString[index] === \"-\")\n index++;\n while (jsonString[index] && \",]}\".indexOf(jsonString[index]) === -1)\n index++;\n if (index == length && !(options_1.Allow.NUM & allow))\n markPartialJSON(\"Unterminated number literal\");\n try {\n return JSON.parse(jsonString.substring(start, index));\n }\n catch (e) {\n if (jsonString.substring(start, index) === \"-\")\n markPartialJSON(\"Not sure what '-' is\");\n try {\n return JSON.parse(jsonString.substring(start, jsonString.lastIndexOf(\"e\")));\n }\n catch (e) {\n throwMalformedError(String(e));\n }\n }\n };\n const skipBlank = () => {\n while (index < length && \" \\n\\r\\t\".includes(jsonString[index])) {\n index++;\n }\n };\n return parseAny();\n};\nconst parse = parseJSON;\nexports.parse = parse;\n","// src/runner/agent-runner.ts\nvar AgentRunner = class {\n};\n\n// src/runner/in-memory.ts\nimport { ReplaySubject } from \"rxjs\";\nimport {\n EventType,\n compactEvents\n} from \"@ag-ui/client\";\nimport { finalizeRunEvents } from \"@copilotkitnext/shared\";\nvar InMemoryEventStore = class {\n constructor(threadId) {\n this.threadId = threadId;\n }\n /** The subject that current consumers subscribe to. */\n subject = null;\n /** True while a run is actively producing events. */\n isRunning = false;\n /** Current run ID */\n currentRunId = null;\n /** Historic completed runs */\n historicRuns = [];\n /** Currently running agent instance (if any). */\n agent = null;\n /** Subject returned from run() while the run is active. */\n runSubject = null;\n /** True once stop() has been requested but the run has not yet finalized. */\n stopRequested = false;\n /** Reference to the events emitted in the current run. */\n currentEvents = null;\n};\nvar GLOBAL_STORE_KEY = /* @__PURE__ */ Symbol.for(\"@copilotkitnext/runtime/in-memory-store\");\nfunction getGlobalStore() {\n const globalAny = globalThis;\n if (!globalAny[GLOBAL_STORE_KEY]) {\n globalAny[GLOBAL_STORE_KEY] = {\n stores: /* @__PURE__ */ new Map(),\n historicRunsBackup: /* @__PURE__ */ new Map()\n };\n }\n const data = globalAny[GLOBAL_STORE_KEY];\n if (data.stores.size === 0 && data.historicRunsBackup.size > 0) {\n for (const [threadId, historicRuns] of data.historicRunsBackup) {\n const store = new InMemoryEventStore(threadId);\n store.historicRuns = historicRuns;\n data.stores.set(threadId, store);\n }\n }\n return data.stores;\n}\nfunction backupHistoricRuns(threadId, historicRuns) {\n const globalAny = globalThis;\n if (globalAny[GLOBAL_STORE_KEY]) {\n globalAny[GLOBAL_STORE_KEY].historicRunsBackup.set(threadId, historicRuns);\n }\n}\nvar GLOBAL_STORE = getGlobalStore();\nvar InMemoryAgentRunner = class extends AgentRunner {\n run(request) {\n let existingStore = GLOBAL_STORE.get(request.threadId);\n if (!existingStore) {\n existingStore = new InMemoryEventStore(request.threadId);\n GLOBAL_STORE.set(request.threadId, existingStore);\n }\n const store = existingStore;\n if (store.isRunning) {\n throw new Error(\"Thread already running\");\n }\n store.isRunning = true;\n store.currentRunId = request.input.runId;\n store.agent = request.agent;\n store.stopRequested = false;\n const seenMessageIds = /* @__PURE__ */ new Set();\n const currentRunEvents = [];\n store.currentEvents = currentRunEvents;\n const historicMessageIds = /* @__PURE__ */ new Set();\n for (const run of store.historicRuns) {\n for (const event of run.events) {\n if (\"messageId\" in event && typeof event.messageId === \"string\") {\n historicMessageIds.add(event.messageId);\n }\n if (event.type === EventType.RUN_STARTED) {\n const runStarted = event;\n const messages = runStarted.input?.messages ?? [];\n for (const message of messages) {\n historicMessageIds.add(message.id);\n }\n }\n }\n }\n const nextSubject = new ReplaySubject(Infinity);\n const prevSubject = store.subject;\n store.subject = nextSubject;\n const runSubject = new ReplaySubject(Infinity);\n store.runSubject = runSubject;\n const runAgent = async () => {\n const lastRun = store.historicRuns[store.historicRuns.length - 1];\n const parentRunId = lastRun?.runId ?? null;\n try {\n await request.agent.runAgent(request.input, {\n onEvent: ({ event }) => {\n let processedEvent = event;\n if (event.type === EventType.RUN_STARTED) {\n const runStartedEvent = event;\n if (!runStartedEvent.input) {\n const sanitizedMessages = request.input.messages ? request.input.messages.filter(\n (message) => !historicMessageIds.has(message.id)\n ) : void 0;\n const updatedInput = {\n ...request.input,\n ...sanitizedMessages !== void 0 ? { messages: sanitizedMessages } : {}\n };\n processedEvent = {\n ...runStartedEvent,\n input: updatedInput\n };\n }\n }\n runSubject.next(processedEvent);\n nextSubject.next(processedEvent);\n currentRunEvents.push(processedEvent);\n },\n onNewMessage: ({ message }) => {\n if (!seenMessageIds.has(message.id)) {\n seenMessageIds.add(message.id);\n }\n },\n onRunStartedEvent: () => {\n if (request.input.messages) {\n for (const message of request.input.messages) {\n if (!seenMessageIds.has(message.id)) {\n seenMessageIds.add(message.id);\n }\n }\n }\n }\n });\n const appendedEvents = finalizeRunEvents(currentRunEvents, {\n stopRequested: store.stopRequested\n });\n for (const event of appendedEvents) {\n runSubject.next(event);\n nextSubject.next(event);\n }\n if (store.currentRunId) {\n const compactedEvents = compactEvents(currentRunEvents);\n store.historicRuns.push({\n threadId: request.threadId,\n runId: store.currentRunId,\n parentRunId,\n events: compactedEvents,\n createdAt: Date.now()\n });\n backupHistoricRuns(request.threadId, store.historicRuns);\n }\n store.currentEvents = null;\n store.currentRunId = null;\n store.agent = null;\n store.runSubject = null;\n store.stopRequested = false;\n store.isRunning = false;\n runSubject.complete();\n nextSubject.complete();\n } catch {\n const appendedEvents = finalizeRunEvents(currentRunEvents, {\n stopRequested: store.stopRequested\n });\n for (const event of appendedEvents) {\n runSubject.next(event);\n nextSubject.next(event);\n }\n if (store.currentRunId && currentRunEvents.length > 0) {\n const compactedEvents = compactEvents(currentRunEvents);\n store.historicRuns.push({\n threadId: request.threadId,\n runId: store.currentRunId,\n parentRunId,\n events: compactedEvents,\n createdAt: Date.now()\n });\n backupHistoricRuns(request.threadId, store.historicRuns);\n }\n store.currentEvents = null;\n store.currentRunId = null;\n store.agent = null;\n store.runSubject = null;\n store.stopRequested = false;\n store.isRunning = false;\n runSubject.complete();\n nextSubject.complete();\n }\n };\n if (prevSubject) {\n prevSubject.subscribe({\n next: (e) => nextSubject.next(e),\n error: (err) => nextSubject.error(err),\n complete: () => {\n }\n });\n }\n runAgent();\n return runSubject.asObservable();\n }\n connect(request) {\n const store = GLOBAL_STORE.get(request.threadId);\n const connectionSubject = new ReplaySubject(Infinity);\n if (!store) {\n connectionSubject.complete();\n return connectionSubject.asObservable();\n }\n const allHistoricEvents = [];\n for (const run of store.historicRuns) {\n allHistoricEvents.push(...run.events);\n }\n const compactedEvents = compactEvents(allHistoricEvents);\n const emittedMessageIds = /* @__PURE__ */ new Set();\n for (const event of compactedEvents) {\n connectionSubject.next(event);\n if (\"messageId\" in event && typeof event.messageId === \"string\") {\n emittedMessageIds.add(event.messageId);\n }\n }\n if (store.subject && (store.isRunning || store.stopRequested)) {\n store.subject.subscribe({\n next: (event) => {\n if (\"messageId\" in event && typeof event.messageId === \"string\" && emittedMessageIds.has(event.messageId)) {\n return;\n }\n connectionSubject.next(event);\n },\n complete: () => connectionSubject.complete(),\n error: (err) => connectionSubject.error(err)\n });\n } else {\n connectionSubject.complete();\n }\n return connectionSubject.asObservable();\n }\n isRunning(request) {\n const store = GLOBAL_STORE.get(request.threadId);\n return Promise.resolve(store?.isRunning ?? false);\n }\n stop(request) {\n const store = GLOBAL_STORE.get(request.threadId);\n if (!store || !store.isRunning) {\n return Promise.resolve(false);\n }\n if (store.stopRequested) {\n return Promise.resolve(false);\n }\n store.stopRequested = true;\n store.isRunning = false;\n const agent = store.agent;\n if (!agent) {\n store.stopRequested = false;\n store.isRunning = false;\n return Promise.resolve(false);\n }\n try {\n agent.abortRun();\n return Promise.resolve(true);\n } catch (error) {\n console.error(\"Failed to abort agent run\", error);\n store.stopRequested = false;\n store.isRunning = true;\n return Promise.resolve(false);\n }\n }\n};\n\n// package.json\nvar package_default = {\n name: \"@copilotkitnext/runtime\",\n version: \"1.51.3-next.2\",\n description: \"Server-side runtime package for CopilotKit2\",\n main: \"dist/index.js\",\n types: \"dist/index.d.ts\",\n exports: {\n \".\": {\n types: \"./dist/index.d.ts\",\n import: \"./dist/index.mjs\",\n require: \"./dist/index.js\",\n umd: \"./dist/index.umd.js\"\n },\n \"./express\": {\n types: \"./dist/express.d.ts\",\n import: \"./dist/express.mjs\",\n require: \"./dist/express.js\",\n umd: \"./dist/express.umd.js\"\n }\n },\n unpkg: \"./dist/index.umd.js\",\n jsdelivr: \"./dist/index.umd.js\",\n publishConfig: {\n access: \"public\"\n },\n scripts: {\n build: \"tsup && rollup -c rollup.config.mjs\",\n dev: \"tsup --watch\",\n lint: \"eslint .\",\n \"check-types\": \"tsc --noEmit\",\n clean: \"rm -rf dist\",\n test: \"vitest run\",\n \"test:watch\": \"vitest\",\n \"test:coverage\": \"vitest run --coverage\"\n },\n devDependencies: {\n \"@copilotkitnext/eslint-config\": \"workspace:*\",\n \"@copilotkitnext/typescript-config\": \"workspace:*\",\n \"@types/cors\": \"^2.8.17\",\n \"@types/express\": \"^4.17.21\",\n \"@types/node\": \"^22.15.3\",\n eslint: \"^9.30.0\",\n supertest: \"^7.1.1\",\n tsup: \"^8.5.0\",\n typescript: \"5.8.2\",\n vitest: \"^3.0.5\"\n },\n dependencies: {\n \"@ag-ui/client\": \"0.0.42\",\n \"@ag-ui/core\": \"0.0.42\",\n \"@ag-ui/encoder\": \"0.0.42\",\n \"@copilotkitnext/shared\": \"workspace:*\",\n cors: \"^2.8.5\",\n express: \"^4.21.2\",\n hono: \"^4.11.4\",\n rxjs: \"7.8.1\"\n },\n peerDependencies: {\n \"@ag-ui/client\": \"0.0.42\",\n \"@ag-ui/core\": \"0.0.42\",\n \"@ag-ui/encoder\": \"0.0.42\",\n \"@copilotkitnext/shared\": \"workspace:*\"\n },\n peerDependenciesMeta: {},\n engines: {\n node: \">=18\"\n }\n};\n\n// src/runtime.ts\nvar VERSION = package_default.version;\nvar CopilotRuntime = class {\n agents;\n transcriptionService;\n beforeRequestMiddleware;\n afterRequestMiddleware;\n runner;\n constructor({\n agents,\n transcriptionService,\n beforeRequestMiddleware,\n afterRequestMiddleware,\n runner\n }) {\n this.agents = agents;\n this.transcriptionService = transcriptionService;\n this.beforeRequestMiddleware = beforeRequestMiddleware;\n this.afterRequestMiddleware = afterRequestMiddleware;\n this.runner = runner ?? new InMemoryAgentRunner();\n }\n};\n\n// src/handlers/handle-run.ts\nimport {\n RunAgentInputSchema\n} from \"@ag-ui/client\";\nimport { EventEncoder } from \"@ag-ui/encoder\";\nasync function handleRunAgent({\n runtime,\n request,\n agentId\n}) {\n try {\n const agents = await runtime.agents;\n if (!agents[agentId]) {\n return new Response(\n JSON.stringify({\n error: \"Agent not found\",\n message: `Agent '${agentId}' does not exist`\n }),\n {\n status: 404,\n headers: { \"Content-Type\": \"application/json\" }\n }\n );\n }\n const registeredAgent = agents[agentId];\n const agent = registeredAgent.clone();\n if (agent && \"headers\" in agent) {\n const shouldForward = (headerName) => {\n const lower = headerName.toLowerCase();\n return lower === \"authorization\" || lower.startsWith(\"x-\");\n };\n const forwardableHeaders = {};\n request.headers.forEach((value, key) => {\n if (shouldForward(key)) {\n forwardableHeaders[key] = value;\n }\n });\n agent.headers = {\n ...agent.headers,\n ...forwardableHeaders\n };\n }\n const stream = new TransformStream();\n const writer = stream.writable.getWriter();\n const encoder = new EventEncoder();\n let streamClosed = false;\n (async () => {\n let input;\n try {\n const requestBody = await request.json();\n input = RunAgentInputSchema.parse(requestBody);\n } catch {\n return new Response(\n JSON.stringify({\n error: \"Invalid request body\"\n }),\n { status: 400 }\n );\n }\n agent.setMessages(input.messages);\n agent.setState(input.state);\n agent.threadId = input.threadId;\n runtime.runner.run({\n threadId: input.threadId,\n agent,\n input\n }).subscribe({\n next: async (event) => {\n if (!request.signal.aborted && !streamClosed) {\n try {\n await writer.write(encoder.encode(event));\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n streamClosed = true;\n }\n }\n }\n },\n error: async (error) => {\n console.error(\"Error running agent:\", error);\n if (!streamClosed) {\n try {\n await writer.close();\n streamClosed = true;\n } catch {\n }\n }\n },\n complete: async () => {\n if (!streamClosed) {\n try {\n await writer.close();\n streamClosed = true;\n } catch {\n }\n }\n }\n });\n })().catch((error) => {\n console.error(\"Error running agent:\", error);\n console.error(\n \"Error stack:\",\n error instanceof Error ? error.stack : \"No stack trace\"\n );\n console.error(\"Error details:\", {\n name: error instanceof Error ? error.name : \"Unknown\",\n message: error instanceof Error ? error.message : String(error),\n cause: error instanceof Error ? error.cause : void 0\n });\n if (!streamClosed) {\n try {\n writer.close();\n streamClosed = true;\n } catch {\n }\n }\n });\n return new Response(stream.readable, {\n status: 200,\n headers: {\n \"Content-Type\": \"text/event-stream\",\n \"Cache-Control\": \"no-cache\",\n Connection: \"keep-alive\"\n }\n });\n } catch (error) {\n console.error(\"Error running agent:\", error);\n console.error(\n \"Error stack:\",\n error instanceof Error ? error.stack : \"No stack trace\"\n );\n console.error(\"Error details:\", {\n name: error instanceof Error ? error.name : \"Unknown\",\n message: error instanceof Error ? error.message : String(error),\n cause: error instanceof Error ? error.cause : void 0\n });\n return new Response(\n JSON.stringify({\n error: \"Failed to run agent\",\n message: error instanceof Error ? error.message : \"Unknown error\"\n }),\n {\n status: 500,\n headers: { \"Content-Type\": \"application/json\" }\n }\n );\n }\n}\n\n// src/handlers/handle-connect.ts\nimport { RunAgentInputSchema as RunAgentInputSchema2 } from \"@ag-ui/client\";\nimport { EventEncoder as EventEncoder2 } from \"@ag-ui/encoder\";\nasync function handleConnectAgent({\n runtime,\n request,\n agentId\n}) {\n try {\n const agents = await runtime.agents;\n if (!agents[agentId]) {\n return new Response(\n JSON.stringify({\n error: \"Agent not found\",\n message: `Agent '${agentId}' does not exist`\n }),\n {\n status: 404,\n headers: { \"Content-Type\": \"application/json\" }\n }\n );\n }\n const stream = new TransformStream();\n const writer = stream.writable.getWriter();\n const encoder = new EventEncoder2();\n let streamClosed = false;\n (async () => {\n let input;\n try {\n const requestBody = await request.json();\n input = RunAgentInputSchema2.parse(requestBody);\n } catch {\n return new Response(\n JSON.stringify({\n error: \"Invalid request body\"\n }),\n { status: 400 }\n );\n }\n runtime.runner.connect({\n threadId: input.threadId\n }).subscribe({\n next: async (event) => {\n if (!request.signal.aborted && !streamClosed) {\n try {\n await writer.write(encoder.encode(event));\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n streamClosed = true;\n }\n }\n }\n },\n error: async (error) => {\n console.error(\"Error running agent:\", error);\n if (!streamClosed) {\n try {\n await writer.close();\n streamClosed = true;\n } catch {\n }\n }\n },\n complete: async () => {\n if (!streamClosed) {\n try {\n await writer.close();\n streamClosed = true;\n } catch {\n }\n }\n }\n });\n })().catch((error) => {\n console.error(\"Error running agent:\", error);\n console.error(\n \"Error stack:\",\n error instanceof Error ? error.stack : \"No stack trace\"\n );\n console.error(\"Error details:\", {\n name: error instanceof Error ? error.name : \"Unknown\",\n message: error instanceof Error ? error.message : String(error),\n cause: error instanceof Error ? error.cause : void 0\n });\n if (!streamClosed) {\n try {\n writer.close();\n streamClosed = true;\n } catch {\n }\n }\n });\n return new Response(stream.readable, {\n status: 200,\n headers: {\n \"Content-Type\": \"text/event-stream\",\n \"Cache-Control\": \"no-cache\",\n Connection: \"keep-alive\"\n }\n });\n } catch (error) {\n console.error(\"Error running agent:\", error);\n console.error(\n \"Error stack:\",\n error instanceof Error ? error.stack : \"No stack trace\"\n );\n console.error(\"Error details:\", {\n name: error instanceof Error ? error.name : \"Unknown\",\n message: error instanceof Error ? error.message : String(error),\n cause: error instanceof Error ? error.cause : void 0\n });\n return new Response(\n JSON.stringify({\n error: \"Failed to run agent\",\n message: error instanceof Error ? error.message : \"Unknown error\"\n }),\n {\n status: 500,\n headers: { \"Content-Type\": \"application/json\" }\n }\n );\n }\n}\n\n// src/handlers/handle-stop.ts\nimport { EventType as EventType2 } from \"@ag-ui/client\";\nasync function handleStopAgent({\n runtime,\n request,\n agentId,\n threadId\n}) {\n try {\n const agents = await runtime.agents;\n if (!agents[agentId]) {\n return new Response(\n JSON.stringify({\n error: \"Agent not found\",\n message: `Agent '${agentId}' does not exist`\n }),\n {\n status: 404,\n headers: { \"Content-Type\": \"application/json\" }\n }\n );\n }\n const stopped = await runtime.runner.stop({ threadId });\n if (!stopped) {\n return new Response(\n JSON.stringify({\n stopped: false,\n message: `No active run for thread '${threadId}'.`\n }),\n {\n status: 200,\n headers: { \"Content-Type\": \"application/json\" }\n }\n );\n }\n return new Response(\n JSON.stringify({\n stopped: true,\n interrupt: {\n type: EventType2.RUN_ERROR,\n message: \"Run stopped by user\",\n code: \"STOPPED\"\n }\n }),\n {\n status: 200,\n headers: { \"Content-Type\": \"application/json\" }\n }\n );\n } catch (error) {\n console.error(\"Error stopping agent run:\", error);\n return new Response(\n JSON.stringify({\n error: \"Failed to stop agent\",\n message: error instanceof Error ? error.message : \"Unknown error\"\n }),\n {\n status: 500,\n headers: { \"Content-Type\": \"application/json\" }\n }\n );\n }\n}\n\n// src/handlers/get-runtime-info.ts\nasync function handleGetRuntimeInfo({\n runtime\n}) {\n try {\n const agents = await runtime.agents;\n const agentsDict = Object.entries(agents).reduce(\n (acc, [name, agent]) => {\n acc[name] = {\n name,\n description: agent.description,\n className: agent.constructor.name\n };\n return acc;\n },\n {}\n );\n const runtimeInfo = {\n version: VERSION,\n agents: agentsDict,\n audioFileTranscriptionEnabled: !!runtime.transcriptionService\n };\n return new Response(JSON.stringify(runtimeInfo), {\n status: 200,\n headers: { \"Content-Type\": \"application/json\" }\n });\n } catch (error) {\n return new Response(\n JSON.stringify({\n error: \"Failed to retrieve runtime information\",\n message: error instanceof Error ? error.message : \"Unknown error\"\n }),\n {\n status: 500,\n headers: { \"Content-Type\": \"application/json\" }\n }\n );\n }\n}\n\n// src/handlers/handle-transcribe.ts\nimport {\n TranscriptionErrorCode,\n TranscriptionErrors\n} from \"@copilotkitnext/shared\";\nvar ERROR_STATUS_CODES = {\n [TranscriptionErrorCode.SERVICE_NOT_CONFIGURED]: 503,\n [TranscriptionErrorCode.INVALID_AUDIO_FORMAT]: 400,\n [TranscriptionErrorCode.AUDIO_TOO_LONG]: 400,\n [TranscriptionErrorCode.AUDIO_TOO_SHORT]: 400,\n [TranscriptionErrorCode.RATE_LIMITED]: 429,\n [TranscriptionErrorCode.AUTH_FAILED]: 401,\n [TranscriptionErrorCode.PROVIDER_ERROR]: 500,\n [TranscriptionErrorCode.NETWORK_ERROR]: 502,\n [TranscriptionErrorCode.INVALID_REQUEST]: 400\n};\nvar VALID_AUDIO_TYPES = [\n \"audio/mpeg\",\n \"audio/mp3\",\n \"audio/mp4\",\n \"audio/wav\",\n \"audio/webm\",\n \"audio/ogg\",\n \"audio/flac\",\n \"audio/aac\"\n];\nfunction isValidAudioType(type) {\n const baseType = type.split(\";\")[0]?.trim() ?? \"\";\n return VALID_AUDIO_TYPES.includes(baseType) || baseType === \"\" || baseType === \"application/octet-stream\";\n}\nfunction createErrorResponse(errorResponse) {\n const status = ERROR_STATUS_CODES[errorResponse.error] ?? 500;\n return new Response(JSON.stringify(errorResponse), {\n status,\n headers: { \"Content-Type\": \"application/json\" }\n });\n}\nfunction base64ToFile(base64, mimeType, filename) {\n const base64Data = base64.includes(\",\") ? base64.split(\",\")[1] ?? base64 : base64;\n const binaryString = atob(base64Data);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return new File([bytes], filename, { type: mimeType });\n}\nasync function extractAudioFromFormData(request) {\n const formData = await request.formData();\n const audioFile = formData.get(\"audio\");\n if (!audioFile || !(audioFile instanceof File)) {\n const err = TranscriptionErrors.invalidRequest(\n \"No audio file found in form data. Please include an 'audio' field.\"\n );\n return { error: createErrorResponse(err) };\n }\n if (!isValidAudioType(audioFile.type)) {\n const err = TranscriptionErrors.invalidAudioFormat(audioFile.type, VALID_AUDIO_TYPES);\n return { error: createErrorResponse(err) };\n }\n return { file: audioFile };\n}\nasync function extractAudioFromJson(request) {\n let body;\n try {\n body = await request.json();\n } catch {\n const err = TranscriptionErrors.invalidRequest(\"Request body must be valid JSON\");\n return { error: createErrorResponse(err) };\n }\n if (!body.audio || typeof body.audio !== \"string\") {\n const err = TranscriptionErrors.invalidRequest(\n \"Request must include 'audio' field with base64-encoded audio data\"\n );\n return { error: createErrorResponse(err) };\n }\n if (!body.mimeType || typeof body.mimeType !== \"string\") {\n const err = TranscriptionErrors.invalidRequest(\n \"Request must include 'mimeType' field (e.g., 'audio/webm')\"\n );\n return { error: createErrorResponse(err) };\n }\n if (!isValidAudioType(body.mimeType)) {\n const err = TranscriptionErrors.invalidAudioFormat(body.mimeType, VALID_AUDIO_TYPES);\n return { error: createErrorResponse(err) };\n }\n try {\n const filename = body.filename || \"recording.webm\";\n const file = base64ToFile(body.audio, body.mimeType, filename);\n return { file };\n } catch {\n const err = TranscriptionErrors.invalidRequest(\"Failed to decode base64 audio data\");\n return { error: createErrorResponse(err) };\n }\n}\nfunction categorizeProviderError(error) {\n const message = error instanceof Error ? error.message : \"Unknown error occurred\";\n const errorStr = String(error).toLowerCase();\n if (errorStr.includes(\"rate\") || errorStr.includes(\"429\") || errorStr.includes(\"too many\")) {\n return TranscriptionErrors.rateLimited();\n }\n if (errorStr.includes(\"auth\") || errorStr.includes(\"401\") || errorStr.includes(\"api key\") || errorStr.includes(\"unauthorized\")) {\n return TranscriptionErrors.authFailed();\n }\n if (errorStr.includes(\"too long\") || errorStr.includes(\"duration\") || errorStr.includes(\"length\")) {\n return TranscriptionErrors.audioTooLong();\n }\n return TranscriptionErrors.providerError(message);\n}\nasync function handleTranscribe({\n runtime,\n request\n}) {\n try {\n if (!runtime.transcriptionService) {\n const err = TranscriptionErrors.serviceNotConfigured();\n return createErrorResponse(err);\n }\n const contentType = request.headers.get(\"content-type\") || \"\";\n let extractResult;\n if (contentType.includes(\"multipart/form-data\")) {\n extractResult = await extractAudioFromFormData(request);\n } else if (contentType.includes(\"application/json\")) {\n extractResult = await extractAudioFromJson(request);\n } else {\n const err = TranscriptionErrors.invalidRequest(\n \"Request must be multipart/form-data or application/json with base64 audio\"\n );\n return createErrorResponse(err);\n }\n if (\"error\" in extractResult) {\n return extractResult.error;\n }\n const audioFile = extractResult.file;\n const transcription = await runtime.transcriptionService.transcribeFile({\n audioFile,\n mimeType: audioFile.type,\n size: audioFile.size\n });\n return new Response(\n JSON.stringify({\n text: transcription,\n size: audioFile.size,\n type: audioFile.type\n }),\n {\n status: 200,\n headers: { \"Content-Type\": \"application/json\" }\n }\n );\n } catch (error) {\n return createErrorResponse(categorizeProviderError(error));\n }\n}\n\n// src/middleware.ts\nimport { logger } from \"@copilotkitnext/shared\";\nasync function callBeforeRequestMiddleware({\n runtime,\n request,\n path\n}) {\n const mw = runtime.beforeRequestMiddleware;\n if (!mw) return;\n if (typeof mw === \"function\") {\n return mw({ runtime, request, path });\n }\n logger.warn({ mw }, \"Unsupported beforeRequestMiddleware value \\u2013 skipped\");\n return;\n}\nasync function callAfterRequestMiddleware({\n runtime,\n response,\n path\n}) {\n const mw = runtime.afterRequestMiddleware;\n if (!mw) return;\n if (typeof mw === \"function\") {\n return mw({ runtime, response, path });\n }\n logger.warn({ mw }, \"Unsupported afterRequestMiddleware value \\u2013 skipped\");\n}\n\n// src/endpoints/single-route-helpers.ts\nvar METHOD_NAMES = [\n \"agent/run\",\n \"agent/connect\",\n \"agent/stop\",\n \"info\",\n \"transcribe\"\n];\nasync function parseMethodCall(request) {\n const contentType = request.headers.get(\"content-type\") || \"\";\n if (!contentType.includes(\"application/json\")) {\n throw createResponseError(\"Single-route endpoint expects JSON payloads\", 415);\n }\n let jsonEnvelope;\n try {\n jsonEnvelope = await request.clone().json();\n } catch (error) {\n throw createResponseError(\"Invalid JSON payload\", 400);\n }\n const method = validateMethod(jsonEnvelope.method);\n return {\n method,\n params: jsonEnvelope.params,\n body: jsonEnvelope.body\n };\n}\nfunction expectString(params, key) {\n const value = params?.[key];\n if (typeof value === \"string\" && value.trim().length > 0) {\n return value;\n }\n throw createResponseError(`Missing or invalid parameter '${key}'`, 400);\n}\nfunction createJsonRequest(base, body) {\n if (body === void 0 || body === null) {\n throw createResponseError(\"Missing request body for JSON handler\", 400);\n }\n const headers = new Headers(base.headers);\n headers.set(\"content-type\", \"application/json\");\n headers.delete(\"content-length\");\n const serializedBody = serializeJsonBody(body);\n return new Request(base.url, {\n method: \"POST\",\n headers,\n body: serializedBody,\n signal: base.signal\n });\n}\nfunction createResponseError(message, status) {\n return new Response(\n JSON.stringify({\n error: \"invalid_request\",\n message\n }),\n {\n status,\n headers: {\n \"Content-Type\": \"application/json\"\n }\n }\n );\n}\nfunction validateMethod(method) {\n if (!method) {\n throw createResponseError(\"Missing method field\", 400);\n }\n if (METHOD_NAMES.includes(method)) {\n return method;\n }\n throw createResponseError(`Unsupported method '${method}'`, 400);\n}\nfunction serializeJsonBody(body) {\n if (typeof body === \"string\") {\n return body;\n }\n if (body instanceof Blob || body instanceof ArrayBuffer || body instanceof Uint8Array) {\n return body;\n }\n if (body instanceof FormData || body instanceof URLSearchParams) {\n return body;\n }\n return JSON.stringify(body);\n}\n\nexport {\n handleRunAgent,\n handleConnectAgent,\n handleStopAgent,\n AgentRunner,\n InMemoryAgentRunner,\n VERSION,\n CopilotRuntime,\n handleGetRuntimeInfo,\n handleTranscribe,\n callBeforeRequestMiddleware,\n callAfterRequestMiddleware,\n parseMethodCall,\n expectString,\n createJsonRequest\n};\n//# sourceMappingURL=chunk-UDMXXX23.mjs.map","// src/router/reg-exp-router/node.ts\nvar LABEL_REG_EXP_STR = \"[^/]+\";\nvar ONLY_WILDCARD_REG_EXP_STR = \".*\";\nvar TAIL_WILDCARD_REG_EXP_STR = \"(?:|/.*)\";\nvar PATH_ERROR = /* @__PURE__ */ Symbol();\nvar regExpMetaChars = new Set(\".\\\\+*[^]$()\");\nfunction compareKey(a, b) {\n if (a.length === 1) {\n return b.length === 1 ? a < b ? -1 : 1 : -1;\n }\n if (b.length === 1) {\n return 1;\n }\n if (a === ONLY_WILDCARD_REG_EXP_STR || a === TAIL_WILDCARD_REG_EXP_STR) {\n return 1;\n } else if (b === ONLY_WILDCARD_REG_EXP_STR || b === TAIL_WILDCARD_REG_EXP_STR) {\n return -1;\n }\n if (a === LABEL_REG_EXP_STR) {\n return 1;\n } else if (b === LABEL_REG_EXP_STR) {\n return -1;\n }\n return a.length === b.length ? a < b ? -1 : 1 : b.length - a.length;\n}\nvar Node = class _Node {\n #index;\n #varIndex;\n #children = /* @__PURE__ */ Object.create(null);\n insert(tokens, index, paramMap, context, pathErrorCheckOnly) {\n if (tokens.length === 0) {\n if (this.#index !== void 0) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n this.#index = index;\n return;\n }\n const [token, ...restTokens] = tokens;\n const pattern = token === \"*\" ? restTokens.length === 0 ? [\"\", \"\", ONLY_WILDCARD_REG_EXP_STR] : [\"\", \"\", LABEL_REG_EXP_STR] : token === \"/*\" ? [\"\", \"\", TAIL_WILDCARD_REG_EXP_STR] : token.match(/^\\:([^\\{\\}]+)(?:\\{(.+)\\})?$/);\n let node;\n if (pattern) {\n const name = pattern[1];\n let regexpStr = pattern[2] || LABEL_REG_EXP_STR;\n if (name && pattern[2]) {\n if (regexpStr === \".*\") {\n throw PATH_ERROR;\n }\n regexpStr = regexpStr.replace(/^\\((?!\\?:)(?=[^)]+\\)$)/, \"(?:\");\n if (/\\((?!\\?:)/.test(regexpStr)) {\n throw PATH_ERROR;\n }\n }\n node = this.#children[regexpStr];\n if (!node) {\n if (Object.keys(this.#children).some(\n (k) => k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.#children[regexpStr] = new _Node();\n if (name !== \"\") {\n node.#varIndex = context.varIndex++;\n }\n }\n if (!pathErrorCheckOnly && name !== \"\") {\n paramMap.push([name, node.#varIndex]);\n }\n } else {\n node = this.#children[token];\n if (!node) {\n if (Object.keys(this.#children).some(\n (k) => k.length > 1 && k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.#children[token] = new _Node();\n }\n }\n node.insert(restTokens, index, paramMap, context, pathErrorCheckOnly);\n }\n buildRegExpStr() {\n const childKeys = Object.keys(this.#children).sort(compareKey);\n const strList = childKeys.map((k) => {\n const c = this.#children[k];\n return (typeof c.#varIndex === \"number\" ? `(${k})@${c.#varIndex}` : regExpMetaChars.has(k) ? `\\\\${k}` : k) + c.buildRegExpStr();\n });\n if (typeof this.#index === \"number\") {\n strList.unshift(`#${this.#index}`);\n }\n if (strList.length === 0) {\n return \"\";\n }\n if (strList.length === 1) {\n return strList[0];\n }\n return \"(?:\" + strList.join(\"|\") + \")\";\n }\n};\nexport {\n Node,\n PATH_ERROR\n};\n","'use strict';\n\nexports.getBooleanOption = (options, key) => {\n\tlet value = false;\n\tif (key in options && typeof (value = options[key]) !== 'boolean') {\n\t\tthrow new TypeError(`Expected the \"${key}\" option to be a boolean`);\n\t}\n\treturn value;\n};\n\nexports.cppdb = Symbol();\nexports.inspect = Symbol.for('nodejs.util.inspect.custom');\n","'use strict';\nconst descriptor = { value: 'SqliteError', writable: true, enumerable: false, configurable: true };\n\nfunction SqliteError(message, code) {\n\tif (new.target !== SqliteError) {\n\t\treturn new SqliteError(message, code);\n\t}\n\tif (typeof code !== 'string') {\n\t\tthrow new TypeError('Expected second argument to be a string');\n\t}\n\tError.call(this, message);\n\tdescriptor.value = '' + message;\n\tObject.defineProperty(this, 'message', descriptor);\n\tError.captureStackTrace(this, SqliteError);\n\tthis.code = code;\n}\nObject.setPrototypeOf(SqliteError, Error);\nObject.setPrototypeOf(SqliteError.prototype, Error.prototype);\nObject.defineProperty(SqliteError.prototype, 'name', descriptor);\nmodule.exports = SqliteError;\n","/**\n * Module dependencies.\n */\n\nvar fs = require('fs'),\n path = require('path'),\n fileURLToPath = require('file-uri-to-path'),\n join = path.join,\n dirname = path.dirname,\n exists =\n (fs.accessSync &&\n function(path) {\n try {\n fs.accessSync(path);\n } catch (e) {\n return false;\n }\n return true;\n }) ||\n fs.existsSync ||\n path.existsSync,\n defaults = {\n arrow: process.env.NODE_BINDINGS_ARROW || ' → ',\n compiled: process.env.NODE_BINDINGS_COMPILED_DIR || 'compiled',\n platform: process.platform,\n arch: process.arch,\n nodePreGyp:\n 'node-v' +\n process.versions.modules +\n '-' +\n process.platform +\n '-' +\n process.arch,\n version: process.versions.node,\n bindings: 'bindings.node',\n try: [\n // node-gyp's linked version in the \"build\" dir\n ['module_root', 'build', 'bindings'],\n // node-waf and gyp_addon (a.k.a node-gyp)\n ['module_root', 'build', 'Debug', 'bindings'],\n ['module_root', 'build', 'Release', 'bindings'],\n // Debug files, for development (legacy behavior, remove for node v0.9)\n ['module_root', 'out', 'Debug', 'bindings'],\n ['module_root', 'Debug', 'bindings'],\n // Release files, but manually compiled (legacy behavior, remove for node v0.9)\n ['module_root', 'out', 'Release', 'bindings'],\n ['module_root', 'Release', 'bindings'],\n // Legacy from node-waf, node <= 0.4.x\n ['module_root', 'build', 'default', 'bindings'],\n // Production \"Release\" buildtype binary (meh...)\n ['module_root', 'compiled', 'version', 'platform', 'arch', 'bindings'],\n // node-qbs builds\n ['module_root', 'addon-build', 'release', 'install-root', 'bindings'],\n ['module_root', 'addon-build', 'debug', 'install-root', 'bindings'],\n ['module_root', 'addon-build', 'default', 'install-root', 'bindings'],\n // node-pre-gyp path ./lib/binding/{node_abi}-{platform}-{arch}\n ['module_root', 'lib', 'binding', 'nodePreGyp', 'bindings']\n ]\n };\n\n/**\n * The main `bindings()` function loads the compiled bindings for a given module.\n * It uses V8's Error API to determine the parent filename that this function is\n * being invoked from, which is then used to find the root directory.\n */\n\nfunction bindings(opts) {\n // Argument surgery\n if (typeof opts == 'string') {\n opts = { bindings: opts };\n } else if (!opts) {\n opts = {};\n }\n\n // maps `defaults` onto `opts` object\n Object.keys(defaults).map(function(i) {\n if (!(i in opts)) opts[i] = defaults[i];\n });\n\n // Get the module root\n if (!opts.module_root) {\n opts.module_root = exports.getRoot(exports.getFileName());\n }\n\n // Ensure the given bindings name ends with .node\n if (path.extname(opts.bindings) != '.node') {\n opts.bindings += '.node';\n }\n\n // https://github.com/webpack/webpack/issues/4175#issuecomment-342931035\n var requireFunc =\n typeof __webpack_require__ === 'function'\n ? __non_webpack_require__\n : require;\n\n var tries = [],\n i = 0,\n l = opts.try.length,\n n,\n b,\n err;\n\n for (; i < l; i++) {\n n = join.apply(\n null,\n opts.try[i].map(function(p) {\n return opts[p] || p;\n })\n );\n tries.push(n);\n try {\n b = opts.path ? requireFunc.resolve(n) : requireFunc(n);\n if (!opts.path) {\n b.path = n;\n }\n return b;\n } catch (e) {\n if (e.code !== 'MODULE_NOT_FOUND' &&\n e.code !== 'QUALIFIED_PATH_RESOLUTION_FAILED' &&\n !/not find/i.test(e.message)) {\n throw e;\n }\n }\n }\n\n err = new Error(\n 'Could not locate the bindings file. Tried:\\n' +\n tries\n .map(function(a) {\n return opts.arrow + a;\n })\n .join('\\n')\n );\n err.tries = tries;\n throw err;\n}\nmodule.exports = exports = bindings;\n\n/**\n * Gets the filename of the JavaScript file that invokes this function.\n * Used to help find the root directory of a module.\n * Optionally accepts an filename argument to skip when searching for the invoking filename\n */\n\nexports.getFileName = function getFileName(calling_file) {\n var origPST = Error.prepareStackTrace,\n origSTL = Error.stackTraceLimit,\n dummy = {},\n fileName;\n\n Error.stackTraceLimit = 10;\n\n Error.prepareStackTrace = function(e, st) {\n for (var i = 0, l = st.length; i < l; i++) {\n fileName = st[i].getFileName();\n if (fileName !== __filename) {\n if (calling_file) {\n if (fileName !== calling_file) {\n return;\n }\n } else {\n return;\n }\n }\n }\n };\n\n // run the 'prepareStackTrace' function above\n Error.captureStackTrace(dummy);\n dummy.stack;\n\n // cleanup\n Error.prepareStackTrace = origPST;\n Error.stackTraceLimit = origSTL;\n\n // handle filename that starts with \"file://\"\n var fileSchema = 'file://';\n if (fileName.indexOf(fileSchema) === 0) {\n fileName = fileURLToPath(fileName);\n }\n\n return fileName;\n};\n\n/**\n * Gets the root directory of a module, given an arbitrary filename\n * somewhere in the module tree. The \"root directory\" is the directory\n * containing the `package.json` file.\n *\n * In: /home/nate/node-native-module/lib/index.js\n * Out: /home/nate/node-native-module\n */\n\nexports.getRoot = function getRoot(file) {\n var dir = dirname(file),\n prev;\n while (true) {\n if (dir === '.') {\n // Avoids an infinite loop in rare cases, like the REPL\n dir = process.cwd();\n }\n if (\n exists(join(dir, 'package.json')) ||\n exists(join(dir, 'node_modules'))\n ) {\n // Found the 'package.json' file or 'node_modules' dir; we're done\n return dir;\n }\n if (prev === dir) {\n // Got to the top\n throw new Error(\n 'Could not find module root given file: \"' +\n file +\n '\". Do you have a `package.json` file? '\n );\n }\n // Try the parent dir next\n prev = dir;\n dir = join(dir, '..');\n }\n};\n","\n/**\n * Module dependencies.\n */\n\nvar sep = require('path').sep || '/';\n\n/**\n * Module exports.\n */\n\nmodule.exports = fileUriToPath;\n\n/**\n * File URI to Path function.\n *\n * @param {String} uri\n * @return {String} path\n * @api public\n */\n\nfunction fileUriToPath (uri) {\n if ('string' != typeof uri ||\n uri.length <= 7 ||\n 'file://' != uri.substring(0, 7)) {\n throw new TypeError('must pass in a file:// URI to convert to a file path');\n }\n\n var rest = decodeURI(uri.substring(7));\n var firstSlash = rest.indexOf('/');\n var host = rest.substring(0, firstSlash);\n var path = rest.substring(firstSlash + 1);\n\n // 2. Scheme Definition\n // As a special case, <host> can be the string \"localhost\" or the empty\n // string; this is interpreted as \"the machine from which the URL is\n // being interpreted\".\n if ('localhost' == host) host = '';\n\n if (host) {\n host = sep + sep + host;\n }\n\n // 3.2 Drives, drive letters, mount points, file system root\n // Drive letters are mapped into the top of a file URI in various ways,\n // depending on the implementation; some applications substitute\n // vertical bar (\"|\") for the colon after the drive letter, yielding\n // \"file:///c|/tmp/test.txt\". In some cases, the colon is left\n // unchanged, as in \"file:///c:/tmp/test.txt\". In other cases, the\n // colon is simply omitted, as in \"file:///c/tmp/test.txt\".\n path = path.replace(/^(.+)\\|/, '$1:');\n\n // for Windows, we need to invert the path separators from what a URI uses\n if (sep == '\\\\') {\n path = path.replace(/\\//g, '\\\\');\n }\n\n if (/^.+\\:/.test(path)) {\n // has Windows drive at beginning of path\n } else {\n // unix path…\n path = sep + path;\n }\n\n return host + path;\n}\n","'use strict';\nconst { cppdb } = require('../util');\n\nexports.prepare = function prepare(sql) {\n\treturn this[cppdb].prepare(sql, this, false);\n};\n\nexports.exec = function exec(sql) {\n\tthis[cppdb].exec(sql);\n\treturn this;\n};\n\nexports.close = function close() {\n\tthis[cppdb].close();\n\treturn this;\n};\n\nexports.loadExtension = function loadExtension(...args) {\n\tthis[cppdb].loadExtension(...args);\n\treturn this;\n};\n\nexports.defaultSafeIntegers = function defaultSafeIntegers(...args) {\n\tthis[cppdb].defaultSafeIntegers(...args);\n\treturn this;\n};\n\nexports.unsafeMode = function unsafeMode(...args) {\n\tthis[cppdb].unsafeMode(...args);\n\treturn this;\n};\n\nexports.getters = {\n\tname: {\n\t\tget: function name() { return this[cppdb].name; },\n\t\tenumerable: true,\n\t},\n\topen: {\n\t\tget: function open() { return this[cppdb].open; },\n\t\tenumerable: true,\n\t},\n\tinTransaction: {\n\t\tget: function inTransaction() { return this[cppdb].inTransaction; },\n\t\tenumerable: true,\n\t},\n\treadonly: {\n\t\tget: function readonly() { return this[cppdb].readonly; },\n\t\tenumerable: true,\n\t},\n\tmemory: {\n\t\tget: function memory() { return this[cppdb].memory; },\n\t\tenumerable: true,\n\t},\n};\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bound');\n\nvar $toString = callBound('Object.prototype.toString');\n\n/** @type {import('.')} */\nvar isStandardArguments = function isArguments(value) {\n\tif (\n\t\thasToStringTag\n\t\t&& value\n\t\t&& typeof value === 'object'\n\t\t&& Symbol.toStringTag in value\n\t) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\n/** @type {import('.')} */\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null\n\t\t&& typeof value === 'object'\n\t\t&& 'length' in value\n\t\t&& typeof value.length === 'number'\n\t\t&& value.length >= 0\n\t\t&& $toString(value) !== '[object Array]'\n\t\t&& 'callee' in value\n\t\t&& $toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\n// @ts-expect-error TODO make this not error\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\n/** @type {import('.')} */\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar callBound = require('call-bound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar gOPD = require('gopd');\n\n/** @type {import('.')} */\nvar fn;\n\nif (hasToStringTag) {\n\t/** @type {(receiver: ThisParameterType<typeof RegExp.prototype.exec>, ...args: Parameters<typeof RegExp.prototype.exec>) => ReturnType<typeof RegExp.prototype.exec>} */\n\tvar $exec = callBound('RegExp.prototype.exec');\n\t/** @type {object} */\n\tvar isRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\t/** @type {{ toString(): never, valueOf(): never, [Symbol.toPrimitive]?(): never }} */\n\tvar badStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n\n\t/** @type {import('.')} */\n\t// @ts-expect-error TS can't figure out that the $exec call always throws\n\t// eslint-disable-next-line consistent-return\n\tfn = function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {NonNullable<typeof gOPD>} */ (gOPD)(/** @type {{ lastIndex?: unknown }} */ (value), 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && hasOwn(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t$exec(value, /** @type {string} */ (/** @type {unknown} */ (badStringifier)));\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t};\n} else {\n\t/** @type {(receiver: ThisParameterType<typeof Object.prototype.toString>, ...args: Parameters<typeof Object.prototype.toString>) => ReturnType<typeof Object.prototype.toString>} */\n\tvar $toString = callBound('Object.prototype.toString');\n\t/** @const @type {'[object RegExp]'} */\n\tvar regexClass = '[object RegExp]';\n\n\t/** @type {import('.')} */\n\tfn = function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n}\n\nmodule.exports = fn;\n","'use strict';\n\nvar callBound = require('call-bound');\nvar isRegex = require('is-regex');\n\nvar $exec = callBound('RegExp.prototype.exec');\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('.')} */\nmodule.exports = function regexTester(regex) {\n\tif (!isRegex(regex)) {\n\t\tthrow new $TypeError('`regex` must be a RegExp');\n\t}\n\treturn function test(s) {\n\t\treturn $exec(regex, s) !== null;\n\t};\n};\n","'use strict';\n\n// eslint-disable-next-line no-extra-parens, no-empty-function\nconst cached = /** @type {GeneratorFunctionConstructor} */ (function* () {}.constructor);\n\n/** @type {import('.')} */\nmodule.exports = () => cached;\n\n","'use strict';\n\nvar callBound = require('call-bound');\nvar safeRegexTest = require('safe-regex-test');\nvar isFnRegex = safeRegexTest(/^\\s*(?:function)?\\*/);\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = require('get-proto');\n\nvar toStr = callBound('Object.prototype.toString');\nvar fnToStr = callBound('Function.prototype.toString');\n\nvar getGeneratorFunction = require('generator-function');\n\n/** @type {import('.')} */\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex(fnToStr(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tvar GeneratorFunction = getGeneratorFunction();\n\treturn GeneratorFunction && getProto(fn) === GeneratorFunction.prototype;\n};\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/** @type {<This, A extends readonly unknown[]>(arr: A, iterator: (this: This | void, value: A[number], index: number, arr: A) => void, receiver: This | undefined) => void} */\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\n/** @type {<This, S extends string>(string: S, iterator: (this: This | void, value: S[number], index: number, string: S) => void, receiver: This | undefined) => void} */\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\n/** @type {<This, O>(obj: O, iterator: (this: This | void, value: O[keyof O], index: keyof O, obj: O) => void, receiver: This | undefined) => void} */\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\n/** @type {(x: unknown) => x is readonly unknown[]} */\nfunction isArray(x) {\n return toStr.call(x) === '[object Array]';\n}\n\n/** @type {import('.')._internal} */\nmodule.exports = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (isArray(list)) {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = [\n\t'Float16Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int8Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'BigInt64Array',\n\t'BigUint64Array'\n];\n","'use strict';\n\nvar possibleNames = require('possible-typed-array-names');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\n/** @type {import('.')} */\nmodule.exports = function availableTypedArrays() {\n\tvar /** @type {ReturnType<typeof availableTypedArrays>} */ out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\t// @ts-expect-error\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar $apply = require('./functionApply');\nvar actualApply = require('./actualApply');\n\n/** @type {import('./applyBind')} */\nmodule.exports = function applyBind() {\n\treturn actualApply(bind, $apply, arguments);\n};\n","'use strict';\n\nvar setFunctionLength = require('set-function-length');\n\nvar $defineProperty = require('es-define-property');\n\nvar callBindBasic = require('call-bind-apply-helpers');\nvar applyBind = require('call-bind-apply-helpers/applyBind');\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = callBindBasic(arguments);\n\tvar adjustedLength = originalFunction.length - (arguments.length - 1);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + (adjustedLength > 0 ? adjustedLength : 0),\n\t\ttrue\n\t);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bound');\nvar gOPD = require('gopd');\nvar getProto = require('get-proto');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\n\n/** @type {<T = unknown>(array: readonly T[], value: unknown) => number} */\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n/** @typedef {import('./types').Getter} Getter */\n/** @type {import('./types').Cache} */\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getProto) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr && getProto) {\n\t\t\tvar proto = getProto(arr);\n\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor && proto) {\n\t\t\t\tvar superProto = getProto(proto);\n\t\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\t// @ts-expect-error TODO: fix\n\t\t\tcache['$' + typedArray] = callBind(descriptor.get);\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tvar fn = arr.slice || arr.set;\n\t\tif (fn) {\n\t\t\tcache[\n\t\t\t\t/** @type {`$${import('.').TypedArrayName}`} */ ('$' + typedArray)\n\t\t\t] = /** @type {import('./types').BoundSlice | import('./types').BoundSet} */ (\n\t\t\t\t// @ts-expect-error TODO FIXME\n\t\t\t\tcallBind(fn)\n\t\t\t);\n\t\t}\n\t});\n}\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\t/** @type {ReturnType<typeof tryAllTypedArrays>} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`\\$${import('.').TypedArrayName}`, Getter>} */ (cache),\n\t\t/** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */\n\t\tfunction (getter, typedArray) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\t\tfound = /** @type {import('.').TypedArrayName} */ ($slice(typedArray, 1));\n\t\t\t\t\t}\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar trySlices = function tryAllSlices(value) {\n\t/** @type {ReturnType<typeof tryAllSlices>} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`\\$${import('.').TypedArrayName}`, Getter>} */(cache),\n\t\t/** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */ function (getter, name) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tgetter(value);\n\t\t\t\t\tfound = /** @type {import('.').TypedArrayName} */ ($slice(name, 1));\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {import('.')} */\nmodule.exports = function whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag) {\n\t\t/** @type {string} */\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif ($indexOf(typedArrays, tag) > -1) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nvar whichTypedArray = require('which-typed-array');\n\n/** @type {import('.')} */\nmodule.exports = function isTypedArray(value) {\n\treturn !!whichTypedArray(value);\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\nconst { cppdb } = require('../util');\n\nmodule.exports = function defineTable(name, factory) {\n\t// Validate arguments\n\tif (typeof name !== 'string') throw new TypeError('Expected first argument to be a string');\n\tif (!name) throw new TypeError('Virtual table module name cannot be an empty string');\n\n\t// Determine whether the module is eponymous-only or not\n\tlet eponymous = false;\n\tif (typeof factory === 'object' && factory !== null) {\n\t\teponymous = true;\n\t\tfactory = defer(parseTableDefinition(factory, 'used', name));\n\t} else {\n\t\tif (typeof factory !== 'function') throw new TypeError('Expected second argument to be a function or a table definition object');\n\t\tfactory = wrapFactory(factory);\n\t}\n\n\tthis[cppdb].table(factory, name, eponymous);\n\treturn this;\n};\n\nfunction wrapFactory(factory) {\n\treturn function virtualTableFactory(moduleName, databaseName, tableName, ...args) {\n\t\tconst thisObject = {\n\t\t\tmodule: moduleName,\n\t\t\tdatabase: databaseName,\n\t\t\ttable: tableName,\n\t\t};\n\n\t\t// Generate a new table definition by invoking the factory\n\t\tconst def = apply.call(factory, thisObject, args);\n\t\tif (typeof def !== 'object' || def === null) {\n\t\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" did not return a table definition object`);\n\t\t}\n\n\t\treturn parseTableDefinition(def, 'returned', moduleName);\n\t};\n}\n\nfunction parseTableDefinition(def, verb, moduleName) {\n\t// Validate required properties\n\tif (!hasOwnProperty.call(def, 'rows')) {\n\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" ${verb} a table definition without a \"rows\" property`);\n\t}\n\tif (!hasOwnProperty.call(def, 'columns')) {\n\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" ${verb} a table definition without a \"columns\" property`);\n\t}\n\n\t// Validate \"rows\" property\n\tconst rows = def.rows;\n\tif (typeof rows !== 'function' || Object.getPrototypeOf(rows) !== GeneratorFunctionPrototype) {\n\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" ${verb} a table definition with an invalid \"rows\" property (should be a generator function)`);\n\t}\n\n\t// Validate \"columns\" property\n\tlet columns = def.columns;\n\tif (!Array.isArray(columns) || !(columns = [...columns]).every(x => typeof x === 'string')) {\n\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" ${verb} a table definition with an invalid \"columns\" property (should be an array of strings)`);\n\t}\n\tif (columns.length !== new Set(columns).size) {\n\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" ${verb} a table definition with duplicate column names`);\n\t}\n\tif (!columns.length) {\n\t\tthrow new RangeError(`Virtual table module \"${moduleName}\" ${verb} a table definition with zero columns`);\n\t}\n\n\t// Validate \"parameters\" property\n\tlet parameters;\n\tif (hasOwnProperty.call(def, 'parameters')) {\n\t\tparameters = def.parameters;\n\t\tif (!Array.isArray(parameters) || !(parameters = [...parameters]).every(x => typeof x === 'string')) {\n\t\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" ${verb} a table definition with an invalid \"parameters\" property (should be an array of strings)`);\n\t\t}\n\t} else {\n\t\tparameters = inferParameters(rows);\n\t}\n\tif (parameters.length !== new Set(parameters).size) {\n\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" ${verb} a table definition with duplicate parameter names`);\n\t}\n\tif (parameters.length > 32) {\n\t\tthrow new RangeError(`Virtual table module \"${moduleName}\" ${verb} a table definition with more than the maximum number of 32 parameters`);\n\t}\n\tfor (const parameter of parameters) {\n\t\tif (columns.includes(parameter)) {\n\t\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" ${verb} a table definition with column \"${parameter}\" which was ambiguously defined as both a column and parameter`);\n\t\t}\n\t}\n\n\t// Validate \"safeIntegers\" option\n\tlet safeIntegers = 2;\n\tif (hasOwnProperty.call(def, 'safeIntegers')) {\n\t\tconst bool = def.safeIntegers;\n\t\tif (typeof bool !== 'boolean') {\n\t\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" ${verb} a table definition with an invalid \"safeIntegers\" property (should be a boolean)`);\n\t\t}\n\t\tsafeIntegers = +bool;\n\t}\n\n\t// Validate \"directOnly\" option\n\tlet directOnly = false;\n\tif (hasOwnProperty.call(def, 'directOnly')) {\n\t\tdirectOnly = def.directOnly;\n\t\tif (typeof directOnly !== 'boolean') {\n\t\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" ${verb} a table definition with an invalid \"directOnly\" property (should be a boolean)`);\n\t\t}\n\t}\n\n\t// Generate SQL for the virtual table definition\n\tconst columnDefinitions = [\n\t\t...parameters.map(identifier).map(str => `${str} HIDDEN`),\n\t\t...columns.map(identifier),\n\t];\n\treturn [\n\t\t`CREATE TABLE x(${columnDefinitions.join(', ')});`,\n\t\twrapGenerator(rows, new Map(columns.map((x, i) => [x, parameters.length + i])), moduleName),\n\t\tparameters,\n\t\tsafeIntegers,\n\t\tdirectOnly,\n\t];\n}\n\nfunction wrapGenerator(generator, columnMap, moduleName) {\n\treturn function* virtualTable(...args) {\n\t\t/*\n\t\t\tWe must defensively clone any buffers in the arguments, because\n\t\t\totherwise the generator could mutate one of them, which would cause\n\t\t\tus to return incorrect values for hidden columns, potentially\n\t\t\tcorrupting the database.\n\t\t */\n\t\tconst output = args.map(x => Buffer.isBuffer(x) ? Buffer.from(x) : x);\n\t\tfor (let i = 0; i < columnMap.size; ++i) {\n\t\t\toutput.push(null); // Fill with nulls to prevent gaps in array (v8 optimization)\n\t\t}\n\t\tfor (const row of generator(...args)) {\n\t\t\tif (Array.isArray(row)) {\n\t\t\t\textractRowArray(row, output, columnMap.size, moduleName);\n\t\t\t\tyield output;\n\t\t\t} else if (typeof row === 'object' && row !== null) {\n\t\t\t\textractRowObject(row, output, columnMap, moduleName);\n\t\t\t\tyield output;\n\t\t\t} else {\n\t\t\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" yielded something that isn't a valid row object`);\n\t\t\t}\n\t\t}\n\t};\n}\n\nfunction extractRowArray(row, output, columnCount, moduleName) {\n\tif (row.length !== columnCount) {\n\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" yielded a row with an incorrect number of columns`);\n\t}\n\tconst offset = output.length - columnCount;\n\tfor (let i = 0; i < columnCount; ++i) {\n\t\toutput[i + offset] = row[i];\n\t}\n}\n\nfunction extractRowObject(row, output, columnMap, moduleName) {\n\tlet count = 0;\n\tfor (const key of Object.keys(row)) {\n\t\tconst index = columnMap.get(key);\n\t\tif (index === undefined) {\n\t\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" yielded a row with an undeclared column \"${key}\"`);\n\t\t}\n\t\toutput[index] = row[key];\n\t\tcount += 1;\n\t}\n\tif (count !== columnMap.size) {\n\t\tthrow new TypeError(`Virtual table module \"${moduleName}\" yielded a row with missing columns`);\n\t}\n}\n\nfunction inferParameters({ length }) {\n\tif (!Number.isInteger(length) || length < 0) {\n\t\tthrow new TypeError('Expected function.length to be a positive integer');\n\t}\n\tconst params = [];\n\tfor (let i = 0; i < length; ++i) {\n\t\tparams.push(`$${i + 1}`);\n\t}\n\treturn params;\n}\n\nconst { hasOwnProperty } = Object.prototype;\nconst { apply } = Function.prototype;\nconst GeneratorFunctionPrototype = Object.getPrototypeOf(function*(){});\nconst identifier = str => `\"${str.replace(/\"/g, '\"\"')}\"`;\nconst defer = x => () => x;\n","'use strict';\nconst fs = require('fs');\nconst path = require('path');\nconst util = require('./util');\nconst SqliteError = require('./sqlite-error');\n\nlet DEFAULT_ADDON;\n\nfunction Database(filenameGiven, options) {\n\tif (new.target == null) {\n\t\treturn new Database(filenameGiven, options);\n\t}\n\n\t// Apply defaults\n\tlet buffer;\n\tif (Buffer.isBuffer(filenameGiven)) {\n\t\tbuffer = filenameGiven;\n\t\tfilenameGiven = ':memory:';\n\t}\n\tif (filenameGiven == null) filenameGiven = '';\n\tif (options == null) options = {};\n\n\t// Validate arguments\n\tif (typeof filenameGiven !== 'string') throw new TypeError('Expected first argument to be a string');\n\tif (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object');\n\tif ('readOnly' in options) throw new TypeError('Misspelled option \"readOnly\" should be \"readonly\"');\n\tif ('memory' in options) throw new TypeError('Option \"memory\" was removed in v7.0.0 (use \":memory:\" filename instead)');\n\n\t// Interpret options\n\tconst filename = filenameGiven.trim();\n\tconst anonymous = filename === '' || filename === ':memory:';\n\tconst readonly = util.getBooleanOption(options, 'readonly');\n\tconst fileMustExist = util.getBooleanOption(options, 'fileMustExist');\n\tconst timeout = 'timeout' in options ? options.timeout : 5000;\n\tconst verbose = 'verbose' in options ? options.verbose : null;\n\tconst nativeBinding = 'nativeBinding' in options ? options.nativeBinding : null;\n\n\t// Validate interpreted options\n\tif (readonly && anonymous && !buffer) throw new TypeError('In-memory/temporary databases cannot be readonly');\n\tif (!Number.isInteger(timeout) || timeout < 0) throw new TypeError('Expected the \"timeout\" option to be a positive integer');\n\tif (timeout > 0x7fffffff) throw new RangeError('Option \"timeout\" cannot be greater than 2147483647');\n\tif (verbose != null && typeof verbose !== 'function') throw new TypeError('Expected the \"verbose\" option to be a function');\n\tif (nativeBinding != null && typeof nativeBinding !== 'string' && typeof nativeBinding !== 'object') throw new TypeError('Expected the \"nativeBinding\" option to be a string or addon object');\n\n\t// Load the native addon\n\tlet addon;\n\tif (nativeBinding == null) {\n\t\taddon = DEFAULT_ADDON || (DEFAULT_ADDON = require('bindings')('better_sqlite3.node'));\n\t} else if (typeof nativeBinding === 'string') {\n\t\t// See <https://webpack.js.org/api/module-variables/#__non_webpack_require__-webpack-specific>\n\t\tconst requireFunc = typeof __non_webpack_require__ === 'function' ? __non_webpack_require__ : require;\n\t\taddon = requireFunc(path.resolve(nativeBinding).replace(/(\\.node)?$/, '.node'));\n\t} else {\n\t\t// See <https://github.com/WiseLibs/better-sqlite3/issues/972>\n\t\taddon = nativeBinding;\n\t}\n\n\tif (!addon.isInitialized) {\n\t\taddon.setErrorConstructor(SqliteError);\n\t\taddon.isInitialized = true;\n\t}\n\n\t// Make sure the specified directory exists\n\tif (!anonymous && !filename.startsWith('file:') && !fs.existsSync(path.dirname(filename))) {\n\t\tthrow new TypeError('Cannot open database because the directory does not exist');\n\t}\n\n\tObject.defineProperties(this, {\n\t\t[util.cppdb]: { value: new addon.Database(filename, filenameGiven, anonymous, readonly, fileMustExist, timeout, verbose || null, buffer || null) },\n\t\t...wrappers.getters,\n\t});\n}\n\nconst wrappers = require('./methods/wrappers');\nDatabase.prototype.prepare = wrappers.prepare;\nDatabase.prototype.transaction = require('./methods/transaction');\nDatabase.prototype.pragma = require('./methods/pragma');\nDatabase.prototype.backup = require('./methods/backup');\nDatabase.prototype.serialize = require('./methods/serialize');\nDatabase.prototype.function = require('./methods/function');\nDatabase.prototype.aggregate = require('./methods/aggregate');\nDatabase.prototype.table = require('./methods/table');\nDatabase.prototype.loadExtension = wrappers.loadExtension;\nDatabase.prototype.exec = wrappers.exec;\nDatabase.prototype.close = wrappers.close;\nDatabase.prototype.defaultSafeIntegers = wrappers.defaultSafeIntegers;\nDatabase.prototype.unsafeMode = wrappers.unsafeMode;\nDatabase.prototype[util.inspect] = require('./methods/inspect');\n\nmodule.exports = Database;\n","'use strict';\nconst { cppdb } = require('../util');\nconst controllers = new WeakMap();\n\nmodule.exports = function transaction(fn) {\n\tif (typeof fn !== 'function') throw new TypeError('Expected first argument to be a function');\n\n\tconst db = this[cppdb];\n\tconst controller = getController(db, this);\n\tconst { apply } = Function.prototype;\n\n\t// Each version of the transaction function has these same properties\n\tconst properties = {\n\t\tdefault: { value: wrapTransaction(apply, fn, db, controller.default) },\n\t\tdeferred: { value: wrapTransaction(apply, fn, db, controller.deferred) },\n\t\timmediate: { value: wrapTransaction(apply, fn, db, controller.immediate) },\n\t\texclusive: { value: wrapTransaction(apply, fn, db, controller.exclusive) },\n\t\tdatabase: { value: this, enumerable: true },\n\t};\n\n\tObject.defineProperties(properties.default.value, properties);\n\tObject.defineProperties(properties.deferred.value, properties);\n\tObject.defineProperties(properties.immediate.value, properties);\n\tObject.defineProperties(properties.exclusive.value, properties);\n\n\t// Return the default version of the transaction function\n\treturn properties.default.value;\n};\n\n// Return the database's cached transaction controller, or create a new one\nconst getController = (db, self) => {\n\tlet controller = controllers.get(db);\n\tif (!controller) {\n\t\tconst shared = {\n\t\t\tcommit: db.prepare('COMMIT', self, false),\n\t\t\trollback: db.prepare('ROLLBACK', self, false),\n\t\t\tsavepoint: db.prepare('SAVEPOINT `\\t_bs3.\\t`', self, false),\n\t\t\trelease: db.prepare('RELEASE `\\t_bs3.\\t`', self, false),\n\t\t\trollbackTo: db.prepare('ROLLBACK TO `\\t_bs3.\\t`', self, false),\n\t\t};\n\t\tcontrollers.set(db, controller = {\n\t\t\tdefault: Object.assign({ begin: db.prepare('BEGIN', self, false) }, shared),\n\t\t\tdeferred: Object.assign({ begin: db.prepare('BEGIN DEFERRED', self, false) }, shared),\n\t\t\timmediate: Object.assign({ begin: db.prepare('BEGIN IMMEDIATE', self, false) }, shared),\n\t\t\texclusive: Object.assign({ begin: db.prepare('BEGIN EXCLUSIVE', self, false) }, shared),\n\t\t});\n\t}\n\treturn controller;\n};\n\n// Return a new transaction function by wrapping the given function\nconst wrapTransaction = (apply, fn, db, { begin, commit, rollback, savepoint, release, rollbackTo }) => function sqliteTransaction() {\n\tlet before, after, undo;\n\tif (db.inTransaction) {\n\t\tbefore = savepoint;\n\t\tafter = release;\n\t\tundo = rollbackTo;\n\t} else {\n\t\tbefore = begin;\n\t\tafter = commit;\n\t\tundo = rollback;\n\t}\n\tbefore.run();\n\ttry {\n\t\tconst result = apply.call(fn, this, arguments);\n\t\tif (result && typeof result.then === 'function') {\n\t\t\tthrow new TypeError('Transaction function cannot return a promise');\n\t\t}\n\t\tafter.run();\n\t\treturn result;\n\t} catch (ex) {\n\t\tif (db.inTransaction) {\n\t\t\tundo.run();\n\t\t\tif (undo !== rollback) after.run();\n\t\t}\n\t\tthrow ex;\n\t}\n};\n","'use strict';\nconst { getBooleanOption, cppdb } = require('../util');\n\nmodule.exports = function pragma(source, options) {\n\tif (options == null) options = {};\n\tif (typeof source !== 'string') throw new TypeError('Expected first argument to be a string');\n\tif (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object');\n\tconst simple = getBooleanOption(options, 'simple');\n\n\tconst stmt = this[cppdb].prepare(`PRAGMA ${source}`, this, true);\n\treturn simple ? stmt.pluck().get() : stmt.all();\n};\n","'use strict';\nconst fs = require('fs');\nconst path = require('path');\nconst { promisify } = require('util');\nconst { cppdb } = require('../util');\nconst fsAccess = promisify(fs.access);\n\nmodule.exports = async function backup(filename, options) {\n\tif (options == null) options = {};\n\n\t// Validate arguments\n\tif (typeof filename !== 'string') throw new TypeError('Expected first argument to be a string');\n\tif (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object');\n\n\t// Interpret options\n\tfilename = filename.trim();\n\tconst attachedName = 'attached' in options ? options.attached : 'main';\n\tconst handler = 'progress' in options ? options.progress : null;\n\n\t// Validate interpreted options\n\tif (!filename) throw new TypeError('Backup filename cannot be an empty string');\n\tif (filename === ':memory:') throw new TypeError('Invalid backup filename \":memory:\"');\n\tif (typeof attachedName !== 'string') throw new TypeError('Expected the \"attached\" option to be a string');\n\tif (!attachedName) throw new TypeError('The \"attached\" option cannot be an empty string');\n\tif (handler != null && typeof handler !== 'function') throw new TypeError('Expected the \"progress\" option to be a function');\n\n\t// Make sure the specified directory exists\n\tawait fsAccess(path.dirname(filename)).catch(() => {\n\t\tthrow new TypeError('Cannot save backup because the directory does not exist');\n\t});\n\n\tconst isNewFile = await fsAccess(filename).then(() => false, () => true);\n\treturn runBackup(this[cppdb].backup(this, attachedName, filename, isNewFile), handler || null);\n};\n\nconst runBackup = (backup, handler) => {\n\tlet rate = 0;\n\tlet useDefault = true;\n\n\treturn new Promise((resolve, reject) => {\n\t\tsetImmediate(function step() {\n\t\t\ttry {\n\t\t\t\tconst progress = backup.transfer(rate);\n\t\t\t\tif (!progress.remainingPages) {\n\t\t\t\t\tbackup.close();\n\t\t\t\t\tresolve(progress);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (useDefault) {\n\t\t\t\t\tuseDefault = false;\n\t\t\t\t\trate = 100;\n\t\t\t\t}\n\t\t\t\tif (handler) {\n\t\t\t\t\tconst ret = handler(progress);\n\t\t\t\t\tif (ret !== undefined) {\n\t\t\t\t\t\tif (typeof ret === 'number' && ret === ret) rate = Math.max(0, Math.min(0x7fffffff, Math.round(ret)));\n\t\t\t\t\t\telse throw new TypeError('Expected progress callback to return a number or undefined');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsetImmediate(step);\n\t\t\t} catch (err) {\n\t\t\t\tbackup.close();\n\t\t\t\treject(err);\n\t\t\t}\n\t\t});\n\t});\n};\n","'use strict';\nconst { cppdb } = require('../util');\n\nmodule.exports = function serialize(options) {\n\tif (options == null) options = {};\n\n\t// Validate arguments\n\tif (typeof options !== 'object') throw new TypeError('Expected first argument to be an options object');\n\n\t// Interpret and validate options\n\tconst attachedName = 'attached' in options ? options.attached : 'main';\n\tif (typeof attachedName !== 'string') throw new TypeError('Expected the \"attached\" option to be a string');\n\tif (!attachedName) throw new TypeError('The \"attached\" option cannot be an empty string');\n\n\treturn this[cppdb].serialize(attachedName);\n};\n","'use strict';\nconst { getBooleanOption, cppdb } = require('../util');\n\nmodule.exports = function defineFunction(name, options, fn) {\n\t// Apply defaults\n\tif (options == null) options = {};\n\tif (typeof options === 'function') { fn = options; options = {}; }\n\n\t// Validate arguments\n\tif (typeof name !== 'string') throw new TypeError('Expected first argument to be a string');\n\tif (typeof fn !== 'function') throw new TypeError('Expected last argument to be a function');\n\tif (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object');\n\tif (!name) throw new TypeError('User-defined function name cannot be an empty string');\n\n\t// Interpret options\n\tconst safeIntegers = 'safeIntegers' in options ? +getBooleanOption(options, 'safeIntegers') : 2;\n\tconst deterministic = getBooleanOption(options, 'deterministic');\n\tconst directOnly = getBooleanOption(options, 'directOnly');\n\tconst varargs = getBooleanOption(options, 'varargs');\n\tlet argCount = -1;\n\n\t// Determine argument count\n\tif (!varargs) {\n\t\targCount = fn.length;\n\t\tif (!Number.isInteger(argCount) || argCount < 0) throw new TypeError('Expected function.length to be a positive integer');\n\t\tif (argCount > 100) throw new RangeError('User-defined functions cannot have more than 100 arguments');\n\t}\n\n\tthis[cppdb].function(fn, name, argCount, safeIntegers, deterministic, directOnly);\n\treturn this;\n};\n","'use strict';\nconst { getBooleanOption, cppdb } = require('../util');\n\nmodule.exports = function defineAggregate(name, options) {\n\t// Validate arguments\n\tif (typeof name !== 'string') throw new TypeError('Expected first argument to be a string');\n\tif (typeof options !== 'object' || options === null) throw new TypeError('Expected second argument to be an options object');\n\tif (!name) throw new TypeError('User-defined function name cannot be an empty string');\n\n\t// Interpret options\n\tconst start = 'start' in options ? options.start : null;\n\tconst step = getFunctionOption(options, 'step', true);\n\tconst inverse = getFunctionOption(options, 'inverse', false);\n\tconst result = getFunctionOption(options, 'result', false);\n\tconst safeIntegers = 'safeIntegers' in options ? +getBooleanOption(options, 'safeIntegers') : 2;\n\tconst deterministic = getBooleanOption(options, 'deterministic');\n\tconst directOnly = getBooleanOption(options, 'directOnly');\n\tconst varargs = getBooleanOption(options, 'varargs');\n\tlet argCount = -1;\n\n\t// Determine argument count\n\tif (!varargs) {\n\t\targCount = Math.max(getLength(step), inverse ? getLength(inverse) : 0);\n\t\tif (argCount > 0) argCount -= 1;\n\t\tif (argCount > 100) throw new RangeError('User-defined functions cannot have more than 100 arguments');\n\t}\n\n\tthis[cppdb].aggregate(start, step, inverse, result, name, argCount, safeIntegers, deterministic, directOnly);\n\treturn this;\n};\n\nconst getFunctionOption = (options, key, required) => {\n\tconst value = key in options ? options[key] : null;\n\tif (typeof value === 'function') return value;\n\tif (value != null) throw new TypeError(`Expected the \"${key}\" option to be a function`);\n\tif (required) throw new TypeError(`Missing required option \"${key}\"`);\n\treturn null;\n};\n\nconst getLength = ({ length }) => {\n\tif (Number.isInteger(length) && length >= 0) return length;\n\tthrow new TypeError('Expected function.length to be a positive integer');\n};\n","'use strict';\nconst DatabaseInspection = function Database() {};\n\nmodule.exports = function inspect(depth, opts) {\n\treturn Object.assign(new DatabaseInspection(), this);\n};\n\n","'use strict';\nmodule.exports = require('./database');\nmodule.exports.SqliteError = require('./sqlite-error');\n",null],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__values","o","s","Symbol","iterator","m","i","length","next","value","done","__read","n","r","e","ar","push","error","__spreadArray","to","from","pack","arguments","l","slice","concat","isFunction","createErrorClass","createImpl","ctorFunc","instance","Error","stack","SuppressedError","UnsubscriptionError","_super","errors","message","map","err","toString","join","name","arrRemove","arr","item","index","indexOf","splice","Subscription","initialTeardown","closed","_parentage","_finalizers","empty","unsubscribe","e_1","_a","e_2","_b","isArray","_parentage_1","_parentage_1_1","remove","e_1_1","return","initialFinalizer","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","add","teardown","_hasParent","_addParent","parent","includes","_removeParent","EMPTY","EMPTY_SUBSCRIPTION","isSubscription","config","Promise","undefined","timeoutProvider","handler","timeout","args","_i","setTimeout","apply","noop","errorContext","cb","Subscriber","destination","_this","isStopped","EMPTY_OBSERVER","complete","SafeSubscriber","_next","_error","_complete","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","observable","identity","x","Observable","subscribe","_subscribe","lift","operator","source","subscriber","isObserver","_trySubscribe","sink","forEach","promiseCtor","getPromiseCtor","resolve","reject","Symbol_observable","pipe","fns","operations","input","reduce","prev","fn","toPromise","util","objectUtil","ObjectUnsubscribedError","Subject","currentObservers","observers","hasError","thrownError","subject","AnonymousSubject","_throwIfClosed","_c","shift","defineProperty","get","enumerable","configurable","_checkFinalizedStatuses","_innerSubscribe","asObservable","dateTimestampProvider","now","delegate","Date","ReplaySubject","_bufferSize","_windowTime","_timestampProvider","Infinity","_buffer","_infiniteTimeWindow","Math","max","_trimBuffer","subscription","copy","adjustedBufferSize","last","assertEqual","_","assertIs","_arg","assertNever","_x","arrayToEnum","items","obj","getValidEnumValues","validKeys","objectKeys","filter","k","filtered","objectValues","keys","object","key","find","checker","isInteger","Number","val","isFinite","floor","joinValues","array","separator","jsonStringifyReplacer","mergeShapes","first","second","ZodParsedType","getParsedType","data","string","isNaN","nan","number","boolean","function","bigint","symbol","null","then","catch","promise","Map","Set","set","date","unknown","ZodIssueCode","ZodError","issues","super","addIssue","sub","addIssues","subs","actualProto","format","_mapper","mapper","issue","fieldErrors","_errors","processError","code","unionErrors","returnTypeError","argumentsError","path","curr","el","assert","JSON","stringify","isEmpty","flatten","formErrors","firstEl","errorMap","_ctx","invalid_type","received","expected","invalid_literal","unrecognized_keys","invalid_union","invalid_union_discriminator","options","invalid_enum_value","invalid_arguments","invalid_return_type","invalid_date","invalid_string","validation","position","startsWith","endsWith","too_small","type","exact","inclusive","minimum","too_big","maximum","custom","invalid_intersection_types","not_multiple_of","multipleOf","not_finite","defaultError","overrideErrorMap","defaultErrorMap","addIssueToContext","ctx","issueData","overrideMap","params","errorMaps","fullPath","fullIssue","errorMessage","maps","reverse","makeIssue","common","contextualErrorMap","schemaErrorMap","ParseStatus","dirty","abort","mergeArray","status","results","arrayValue","INVALID","mergeObjectAsync","pairs","syncPairs","pair","mergeObjectSync","finalObject","alwaysSet","freeze","DIRTY","OK","isAborted","isDirty","isValid","isAsync","errorUtil","errToObj","ParseInputLazyPath","_cachedPath","_path","_key","handleResult","result","success","processCreateParams","invalid_type_error","required_error","description","iss","ZodType","_def","_getType","_getOrReturnCtx","parsedType","_processInputParams","_parseSync","_parse","_parseAsync","parse","safeParse","async","toLowerCase","parseAsync","safeParseAsync","maybeAsyncResult","refine","check","getIssueProperties","_refinement","setError","refinement","refinementData","ZodEffects","schema","typeName","ZodFirstPartyTypeKind","effect","superRefine","def","spa","bind","optional","nullable","nullish","or","and","transform","brand","default","describe","readonly","isNullable","isOptional","version","vendor","validate","ZodOptional","ZodNullable","ZodArray","ZodPromise","option","ZodUnion","incoming","ZodIntersection","defaultValueFunc","ZodDefault","innerType","defaultValue","ZodBranded","catchValueFunc","ZodCatch","catchValue","This","target","ZodPipeline","ZodReadonly","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","nanoidRegex","jwtRegex","durationRegex","emailRegex","emojiRegex","ipv4Regex","ipv4CidrRegex","ipv6Regex","ipv6CidrRegex","base64Regex","base64urlRegex","dateRegexSource","dateRegex","RegExp","timeRegexSource","secondsRegexSource","precision","timeRegex","datetimeRegex","regex","opts","local","offset","isValidIP","ip","test","isValidJWT","jwt","alg","header","split","base64","replace","padEnd","decoded","atob","typ","isValidCidr","ZodString","coerce","checks","kind","tooBig","tooSmall","URL","lastIndex","trim","toUpperCase","_regex","_addCheck","email","url","emoji","uuid","nanoid","cuid","cuid2","ulid","base64url","cidr","datetime","time","duration","min","minLength","maxLength","len","nonempty","isDatetime","ch","isDate","isTime","isDuration","isEmail","isURL","isEmoji","isUUID","isNANOID","isCUID","isCUID2","isULID","isIP","isCIDR","isBase64","isBase64url","floatSafeRemainder","step","valDecCount","stepDecCount","decCount","parseInt","toFixed","ZodNumber","gte","lte","setLimit","gt","lt","int","positive","negative","nonpositive","nonnegative","finite","safe","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","minValue","maxValue","isInt","ZodBigInt","BigInt","_getInvalidInput","ZodBoolean","Boolean","ZodDate","getTime","minDate","maxDate","ZodSymbol","ZodUndefined","ZodNull","ZodAny","_any","ZodUnknown","_unknown","ZodNever","never","ZodVoid","void","exactLength","all","element","deepPartialify","ZodObject","newShape","shape","fieldSchema","unwrap","ZodTuple","_cached","nonstrict","passthrough","augment","extend","_getCached","shapeKeys","extraKeys","catchall","unknownKeys","keyValidator","strict","strip","augmentation","merge","merging","setKey","pick","mask","omit","deepPartial","partial","required","newField","keyof","createZodEnum","strictCreate","lazycreate","childCtx","types","getDiscriminator","ZodLazy","ZodLiteral","ZodEnum","ZodNativeEnum","enum","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","discriminatorValues","has","mergeValues","a","aType","bType","valid","bKeys","sharedKeys","newObj","sharedValue","newArray","handleParsed","parsedLeft","parsedRight","merged","left","right","rest","itemIndex","schemas","ZodRecord","keySchema","keyType","valueSchema","valueType","third","ZodMap","entries","finalMap","ZodSet","minSize","size","maxSize","finalizeSet","elements","parsedSet","values","getter","expectedValues","_cache","enumValues","Values","Enum","extract","newDef","exclude","opt","nativeEnumValues","promisified","sourceType","checkCtx","arg","fatal","processed","executeRefinement","acc","inner","base","createWithPreprocess","preprocess","removeDefault","newCtx","removeCatch","ZodNaN","inResult","in","out","handleAsync","stringType","numberType","booleanType","anyType","arrayType","objectType","unionType","discriminatedUnionType","recordType","literalType","enumType","nativeEnumType","FunctionCallSchema","z.object","z.string","ToolCallSchema","id","z.literal","BaseMessageSchema","role","content","TextInputContentSchema","text","BinaryInputContentObjectSchema","mimeType","filename","ensureBinaryPayload","z.ZodIssueCode","InputContentSchema","z.discriminatedUnion","MessageSchema","toolCalls","z.array","z.union","toolCallId","activityType","z.record","z.any","ContextSchema","ToolSchema","parameters","RunAgentInputSchema","threadId","runId","parentRunId","state","messages","tools","context","forwardedProps","StateSchema","TextMessageRoleSchema","z2.union","z2.literal","EventType","EventType2","BaseEventSchema","z2.object","z2.nativeEnum","timestamp","z2.number","rawEvent","z2.any","TextMessageStartEventSchema","messageId","z2.string","TextMessageContentEventSchema","delta","TextMessageEndEventSchema","TextMessageChunkEventSchema","ThinkingTextMessageStartEventSchema","ThinkingTextMessageContentEventSchema","ThinkingTextMessageEndEventSchema","ToolCallStartEventSchema","toolCallName","parentMessageId","ToolCallArgsEventSchema","ToolCallEndEventSchema","ToolCallResultEventSchema","ToolCallChunkEventSchema","z2.discriminatedUnion","title","snapshot","z2.array","z2.record","z2.boolean","patch","event","stepName","byteToHex","getRandomValues","rnds8","Uint8Array","native","randomUUID","crypto","v4","buf","rnds","random","rng","unsafeStringify","_hasOwnProperty","_objectKeys","keys_1","_deepClone","str","charCode","charCodeAt","escapePathComponent","unescapePathComponent","hasUndefined","i_1","objKeys","objKeysLength","patchErrorMessageFormatter","messageParts","PatchError","operation","tree","_newTarget","JsonPatchError","deepClone","objOps","document","newDocument","removed","move","getValueByPointer","originalValue","applyOperation","op","valueToCopy","_areEquals","_get","arrOps","pointer","getOriginalDestination","validateOperation","mutateDocument","banPrototypeModifications","validator","returnValue","t","existingPathFragment","validateFunction","applyPatch","length_1","pathLen","existingPathLen","sequence","externalValidator","arrA","arrB","operationResult","beforeDict","WeakMap","Mirror","ObserverInfo","callback","observer","generate","invertible","mirror","_generate","patches","temp","toJSON","newKeys","oldKeys","deleted","oldVal","newVal","tree1","tree2","getMirror","observerInfo","getObserverFromMirror","dirtyCheck","fastCheck","clearTimeout","window","addEventListener","unobserve","delete","removeObserverFromMirror","removeEventListener","root","assign","core","duplex","C","f.enum","Vt","he","B","TEXT_MESSAGE_START","contents","otherEvents","start","TEXT_MESSAGE_CONTENT","TEXT_MESSAGE_END","end","Rt","TOOL_CALL_START","TOOL_CALL_ARGS","TOOL_CALL_END","It","f.discriminatedUnion","f.object","f.literal","TextMessageStart","f.string","TextMessageContent","TextMessageEnd","ActionExecutionStart","actionExecutionId","actionName","ActionExecutionArgs","ActionExecutionEnd","ActionExecutionResult","AgentStateMessage","agentName","nodeName","active","f.boolean","running","MetaEvent","f.any","RunError","exports","Allow","ALL","COLLECTION","ATOM","SPECIAL","_INFINITY","INFINITY","NAN","BOOL","OBJ","ARR","NUM","STR","NULL","INF","uuidv4","__createBinding","k2","desc","getOwnPropertyDescriptor","__esModule","writable","__exportStar","MalformedJSON","PartialJSON","parseJSON","options_1","require$$0","jsonString","allowPartial","_parseJSON","allow","markPartialJSON","msg","throwMalformedError","parseAny","skipBlank","parseStr","parseObj","parseArr","substring","NaN","parseNum","escape","charAt","lastIndexOf","defaultStopMessage","finalizeRunEvents","events","stopRequested","interruptionMessage","resolvedStopMessage","resolvedAbruptMessage","appended","openMessageIds","openToolCalls","hasEnd","hasResult","info","TOOL_CALL_RESULT","hasRunFinished","some","RUN_FINISHED","hasRunError","RUN_ERROR","terminalEventMissing","endEvent","resultEvent","reason","finishedEvent","errorEvent","TranscriptionErrorCode","TranscriptionErrorCode2","AgentRunner","InMemoryEventStore","isRunning","currentRunId","historicRuns","agent","runSubject","currentEvents","GLOBAL_STORE_KEY","for","globalAny","globalThis","stores","historicRunsBackup","store","getGlobalStore","SERVICE_NOT_CONFIGURED","INVALID_AUDIO_FORMAT","AUDIO_TOO_LONG","AUDIO_TOO_SHORT","RATE_LIMITED","AUTH_FAILED","PROVIDER_ERROR","NETWORK_ERROR","INVALID_REQUEST","getBooleanOption","cppdb","inspect","descriptor","SqliteError","captureStackTrace","sqliteError","fs","require$$1","fileURLToPath","sep","fileUriToPath_1","uri","decodeURI","firstSlash","host","require$$2","dirname","exists","accessSync","existsSync","defaults","arrow","process","env","NODE_BINDINGS_ARROW","compiled","NODE_BINDINGS_COMPILED_DIR","platform","arch","nodePreGyp","versions","modules","node","bindings","try","module","module_root","getRoot","getFileName","extname","requireFunc","__webpack_require__","__non_webpack_require__","require","tries","calling_file","fileName","origPST","prepareStackTrace","origSTL","stackTraceLimit","dummy","st","__filename","file","dir","cwd","wrappers","prepare","sql","exec","close","loadExtension","defaultSafeIntegers","unsafeMode","getters","open","inTransaction","memory","shams","getOwnPropertySymbols","sym","symObj","getOwnPropertyNames","syms","propertyIsEnumerable","hasSymbols","toStringTag","esObjectAtoms","esErrors","_eval","EvalError","range","RangeError","ref","ReferenceError","syntax","SyntaxError","URIError","abs","pow","round","_isNaN","$isNaN","sign","gOPD","$gOPD","gopd","$defineProperty","esDefineProperty","origSymbol","hasSymbolSham","Reflect_getPrototypeOf","Reflect","getPrototypeOf","Object_getPrototypeOf","toStr","concatty","j","implementation","that","bound","arrLike","slicy","boundLength","boundArgs","Function","joiner","joiny","Empty","functionBind","functionCall","functionApply","$apply","$call","$reflectApply","reflectApply","actualApply","$TypeError","$actualApply","require$$3","callBindApplyHelpers","hasProtoAccessor","callBind","$Object","$getPrototypeOf","reflectGetProto","originalGetProto","getDunderProto","getProto","O","$hasOwn","hasown","$Error","$EvalError","$RangeError","$ReferenceError","require$$4","$SyntaxError","require$$5","require$$6","$URIError","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","$Function","getEvalledConstructor","expressionSyntax","require$$15","require$$16","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","require$$17","require$$18","$ObjectGPO","require$$19","$ReflectGPO","require$$20","require$$21","require$$22","needsEval","TypedArray","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt64Array","BigUint64Array","DataView","decodeURIComponent","encodeURI","encodeURIComponent","eval","Float16Array","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","parseFloat","Proxy","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","WeakRef","WeakSet","errorProto","doEval","gen","LEGACY_ALIASES","require$$23","hasOwn","require$$24","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","allowMissing","alias","intrinsicName","getIntrinsic","parts","match","quote","subString","stringToPath","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","GetIntrinsic","callBindBasic","$indexOf","callBound","hasToStringTag","$toString","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","isArguments","isRegexMarker","throwRegexMarker","badStringifier","valueOf","toPrimitive","isRegex","safeRegexTest","cached","generatorFunction","isFnRegex","fnToStr","getGeneratorFunction","isGeneratorFunction","GeneratorFunction","badArrayLike","isCallableMarker","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","isIE68","isDDA","isCallable","strClass","list","thisArg","receiver","forEachArray","forEachString","forEachObject","possibleTypedArrayNames","possibleNames","g","global","availableTypedArrays","defineDataProperty","property","nonEnumerable","nonWritable","nonConfigurable","loose","hasPropertyDescriptors","hasArrayLengthDefineBug","hasPropertyDescriptors_1","define","hasDescriptors","$floor","setFunctionLength","functionLengthIsConfigurable","functionLengthIsWritable","applyBind","originalFunction","func","adjustedLength","typedArrays","$slice","cache","typedArray","proto","superProto","whichTypedArray","tag","found","trySlices","tryTypedArrays","isTypedArray","getOwnPropertyDescriptors","descriptors","formatRegExp","f","isString","objects","isNull","isObject","deprecate","noDeprecation","warned","throwDeprecation","traceDeprecation","console","trace","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","hash","idx","arrayToHash","isError","formatError","isRegExp","output","braces","toUTCString","formatProperty","formatArray","pop","cur","reduceToSingleString","line","re","objectToString","pad","debuglog","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","regexp","isArgumentsObject","uncurryThis","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isPromise","isArrayBufferView","isView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMap","isSet","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isBoxedPrimitive","isAnyArrayBuffer","method","isNullOrUndefined","isSymbol","isNativeError","isPrimitive","isBuffer","isBufferBrowser","fill","readUInt8","months","prop","log","getHours","getMinutes","getSeconds","getDate","getMonth","inherits","inherits_browserModule","ctor","superCtor","super_","TempCtor","origin","kCustomPromisifiedSymbol","callbackifyOnRejected","newReason","promisify","original","promiseResolve","promiseReject","defineProperties","callbackify","callbackified","maybeCb","self","nextTick","rej","parseTableDefinition","verb","moduleName","rows","GeneratorFunctionPrototype","columns","every","inferParameters","parameter","safeIntegers","bool","directOnly","identifier","wrapGenerator","generator","columnMap","Buffer","row","extractRowArray","extractRowObject","columnCount","count","table","factory","eponymous","defer","databaseName","tableName","thisObject","database","wrapFactory","DEFAULT_ADDON","Database","filenameGiven","buffer","anonymous","fileMustExist","verbose","nativeBinding","addon","isInitialized","setErrorConstructor","transaction","controllers","db","controller","getController","properties","wrapTransaction","deferred","immediate","exclusive","shared","commit","rollback","savepoint","release","rollbackTo","begin","before","after","undo","run","ex","pragma","stmt","pluck","backup","fsAccess","access","attachedName","attached","progress","isNewFile","runBackup","rate","useDefault","setImmediate","transfer","remainingPages","serialize","_function","deterministic","argCount","aggregate","getFunctionOption","getLength","DatabaseInspection","libModule","ACTIVE_CONNECTIONS","dbPath","initializeSchema","currentVersion","storeRun","compactedEvents","compactEvents","getHistoricRuns","thread_id","run_id","parent_run_id","created_at","getLatestRunId","setRunState","getRunState","is_running","current_run_id","request","seenMessageIds","currentRunEvents","historicMessageIds","RUN_STARTED","runStarted","nextSubject","prevConnection","prevSubject","runAgent","onEvent","processedEvent","runStartedEvent","sanitizedMessages","updatedInput","onNewMessage","onRunStartedEvent","connection","appendedEvents","connect","connectionSubject","allHistoricEvents","emittedMessageIds","activeConnection","runState","stop","abortRun"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112]}