@agent-stash/dsh-skill-scout 0.0.0-stage → 0.1.0

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":"client.js","names":["parse","v.nullable","v.picklist","v.object","v.string","v.number","v.array","v.boolean","v.pipe","v.trim","v.regex","v.maxLength","v.minLength","v.variant","v.literal","v.optional","v.safeParse","useRef","useCallback","styles","IconCloseOutlineRegular","useMemo","styles","Button","IconCheckOutlineRegular","IconCloseOutlineRegular","useId","useState","v.safeParse","MarkdownText","DiffBlock","SegmentedControl","useSyncExternalStore","v.pipe","v.string","v.parseJson","v.array","v.safeParse","styles","IconCloseOutlineRegular","useState","useRef","useAnchoredPosition","createPortal","IconSkillOutlineRegular","v.object","v.fallback","v.boolean","v.string","v.number","v.array","v.picklist","v.parse","styles","useId","useState","Switch","SettingsForm","SegmentedControl"],"sources":["index.mjs","shared.ts","api.ts","dialog.tsx","format.ts","detail.tsx","hooks.ts","inbox.tsx","locale.ts","settings.tsx","store.ts","source.ts","index.ts"],"sourcesContent":["//#region src/storages/globalConfig/globalConfig.ts\nlet store$4;\nconst DEFAULT_CONFIG = {\n\tlang: void 0,\n\tmessage: void 0,\n\tabortEarly: void 0,\n\tabortPipeEarly: void 0\n};\n/**\n* Sets the global configuration.\n*\n* @param config The configuration.\n*/\nfunction setGlobalConfig(config$1) {\n\tstore$4 = {\n\t\t...store$4,\n\t\t...config$1\n\t};\n}\n/**\n* Returns the global configuration.\n*\n* @param config The config to merge.\n*\n* @returns The configuration.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getGlobalConfig(config$1) {\n\tif (!config$1 && !store$4) return DEFAULT_CONFIG;\n\treturn {\n\t\tlang: config$1?.lang ?? store$4?.lang,\n\t\tmessage: config$1?.message,\n\t\tabortEarly: config$1?.abortEarly ?? store$4?.abortEarly,\n\t\tabortPipeEarly: config$1?.abortPipeEarly ?? store$4?.abortPipeEarly\n\t};\n}\n/**\n* Deletes the global configuration.\n*/\nfunction deleteGlobalConfig() {\n\tstore$4 = void 0;\n}\n\n//#endregion\n//#region src/storages/globalMessage/globalMessage.ts\nlet store$3;\n/**\n* Sets a global error message.\n*\n* @param message The error message.\n* @param lang The language of the message.\n*/\nfunction setGlobalMessage(message$1, lang) {\n\tif (!store$3) store$3 = /* @__PURE__ */ new Map();\n\tstore$3.set(lang, message$1);\n}\n/**\n* Returns a global error message.\n*\n* @param lang The language of the message.\n*\n* @returns The error message.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getGlobalMessage(lang) {\n\treturn store$3?.get(lang);\n}\n/**\n* Deletes a global error message.\n*\n* @param lang The language of the message.\n*/\nfunction deleteGlobalMessage(lang) {\n\tstore$3?.delete(lang);\n}\n\n//#endregion\n//#region src/storages/schemaMessage/schemaMessage.ts\nlet store$2;\n/**\n* Sets a schema error message.\n*\n* @param message The error message.\n* @param lang The language of the message.\n*/\nfunction setSchemaMessage(message$1, lang) {\n\tif (!store$2) store$2 = /* @__PURE__ */ new Map();\n\tstore$2.set(lang, message$1);\n}\n/**\n* Returns a schema error message.\n*\n* @param lang The language of the message.\n*\n* @returns The error message.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getSchemaMessage(lang) {\n\treturn store$2?.get(lang);\n}\n/**\n* Deletes a schema error message.\n*\n* @param lang The language of the message.\n*/\nfunction deleteSchemaMessage(lang) {\n\tstore$2?.delete(lang);\n}\n\n//#endregion\n//#region src/storages/specificMessage/specificMessage.ts\nlet store$1;\n/**\n* Sets a specific error message.\n*\n* @param reference The identifier reference.\n* @param message The error message.\n* @param lang The language of the message.\n*/\nfunction setSpecificMessage(reference, message$1, lang) {\n\tif (!store$1) store$1 = /* @__PURE__ */ new Map();\n\tif (!store$1.get(reference)) store$1.set(reference, /* @__PURE__ */ new Map());\n\tstore$1.get(reference).set(lang, message$1);\n}\n/**\n* Returns a specific error message.\n*\n* @param reference The identifier reference.\n* @param lang The language of the message.\n*\n* @returns The error message.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getSpecificMessage(reference, lang) {\n\treturn store$1?.get(reference)?.get(lang);\n}\n/**\n* Deletes a specific error message.\n*\n* @param reference The identifier reference.\n* @param lang The language of the message.\n*/\nfunction deleteSpecificMessage(reference, lang) {\n\tstore$1?.get(reference)?.delete(lang);\n}\n\n//#endregion\n//#region src/utils/_stringify/_stringify.ts\n/**\n* Stringifies an unknown input to a literal or type string.\n*\n* @param input The unknown input.\n*\n* @returns A literal or type string.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _stringify(input) {\n\tconst type = typeof input;\n\tif (type === \"string\") return `\"${input}\"`;\n\tif (type === \"number\" || type === \"bigint\" || type === \"boolean\") return `${input}`;\n\tif (type === \"object\" || type === \"function\") return (input && Object.getPrototypeOf(input)?.constructor?.name) ?? \"null\";\n\treturn type;\n}\n\n//#endregion\n//#region src/utils/_addIssue/_addIssue.ts\n/**\n* Adds an issue to the dataset.\n*\n* @param context The issue context.\n* @param label The issue label.\n* @param dataset The input dataset.\n* @param config The configuration.\n* @param other The optional props.\n*\n* @internal\n*/\nfunction _addIssue(context, label, dataset, config$1, other) {\n\tconst input = other && \"input\" in other ? other.input : dataset.value;\n\tconst expected = other?.expected ?? context.expects ?? null;\n\tconst received = other?.received ?? /* @__PURE__ */ _stringify(input);\n\tconst issue = {\n\t\tkind: context.kind,\n\t\ttype: context.type,\n\t\tinput,\n\t\texpected,\n\t\treceived,\n\t\tmessage: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : \"R\"}eceived ${received}`,\n\t\trequirement: context.requirement,\n\t\tpath: other?.path,\n\t\tissues: other?.issues,\n\t\tlang: config$1.lang,\n\t\tabortEarly: config$1.abortEarly,\n\t\tabortPipeEarly: config$1.abortPipeEarly\n\t};\n\tconst isSchema = context.kind === \"schema\";\n\tconst message$1 = other?.message ?? context.message ?? /* @__PURE__ */ getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? /* @__PURE__ */ getSchemaMessage(issue.lang) : null) ?? config$1.message ?? /* @__PURE__ */ getGlobalMessage(issue.lang);\n\tif (message$1 !== void 0) issue.message = typeof message$1 === \"function\" ? message$1(issue) : message$1;\n\tif (isSchema) dataset.typed = false;\n\tif (dataset.issues) dataset.issues.push(issue);\n\telse dataset.issues = [issue];\n}\n\n//#endregion\n//#region src/utils/_cloneDataset/_cloneDataset.ts\n/**\n* Creates a shallow copy of a dataset.\n*\n* Hint: The `value` is copied by reference, but the `issues` array, its issues\n* and their `path` arrays are cloned to avoid reusing mutable dataset state\n* across multiple runs. Mutating a returned object or array value can\n* therefore affect later cache hits that reuse the same cached output.\n*\n* @param dataset The output dataset.\n*\n* @returns The copied output dataset.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _cloneDataset(dataset) {\n\treturn {\n\t\ttyped: dataset.typed,\n\t\tvalue: dataset.value,\n\t\tissues: dataset.issues?.map((issue) => ({\n\t\t\t...issue,\n\t\t\tpath: issue.path && [...issue.path]\n\t\t}))\n\t};\n}\n\n//#endregion\n//#region src/utils/_formatCase/_formatCase.ts\n/**\n* Splits a string into lowercase words and rejoins them with the given\n* separator and capitalization rules.\n*\n* Words are separated by `_`, `-` and ASCII whitespace, as well as by case\n* and acronym boundaries. Whether the first or subsequent words are\n* capitalized is controlled by `capFirst` and `capRest`.\n*\n* Hint: Implemented in a single pass that emits directly to the result\n* string to avoid an intermediate `string[]` allocation. ASCII chars are\n* classified via char codes to skip `.toLowerCase()` and `.toUpperCase()`\n* method calls in the common case.\n*\n* Hint: Digits are treated as a separate character class, so `item2Name`\n* yields `item2` and `name` rather than `item`, `2` and `name`.\n*\n* @param input The input string.\n* @param separator The string inserted between words.\n* @param capFirst Whether to capitalize the first word.\n* @param capRest Whether to capitalize subsequent words.\n*\n* @returns The formatted string.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _formatCase(input, separator, capFirst, capRest) {\n\tlet result = \"\";\n\tlet firstWord = true;\n\tlet start = 0;\n\tlet prev = 0;\n\tlet prevPrev = 0;\n\tconst flush = (end) => {\n\t\tif (end > start) {\n\t\t\tlet word = input.slice(start, end).toLowerCase();\n\t\t\tif (firstWord ? capFirst : capRest) {\n\t\t\t\tconst firstCode = word.charCodeAt(0);\n\t\t\t\tif (firstCode >= 97 && firstCode <= 122) word = String.fromCharCode(firstCode - 32) + word.slice(1);\n\t\t\t\telse {\n\t\t\t\t\tconst charLen = firstCode >= 55296 && firstCode <= 56319 ? 2 : 1;\n\t\t\t\t\tword = word.slice(0, charLen).toUpperCase() + word.slice(charLen);\n\t\t\t\t}\n\t\t\t}\n\t\t\tresult += firstWord ? word : separator + word;\n\t\t\tfirstWord = false;\n\t\t}\n\t};\n\tfor (let index = 0; index < input.length; index++) {\n\t\tconst code = input.charCodeAt(index);\n\t\tlet type;\n\t\tif (code === 32 || code === 9 || code === 10 || code === 11 || code === 12 || code === 13 || code === 45 || code === 95) {\n\t\t\tflush(index);\n\t\t\tstart = index + 1;\n\t\t\ttype = 0;\n\t\t} else if (code < 128) type = code >= 65 && code <= 90 ? 1 : code >= 97 && code <= 122 ? 2 : 3;\n\t\telse {\n\t\t\tconst char = input[index];\n\t\t\tconst charLower = char.toLowerCase();\n\t\t\ttype = charLower === char.toUpperCase() ? 3 : char === charLower ? 2 : 1;\n\t\t}\n\t\tif (type === 1 && (prev === 2 || prev === 3) && index > start) {\n\t\t\tflush(index);\n\t\t\tstart = index;\n\t\t} else if (type === 2 && prev === 1 && prevPrev === 1 && index - 1 > start) {\n\t\t\tflush(index - 1);\n\t\t\tstart = index - 1;\n\t\t}\n\t\tprevPrev = prev;\n\t\tprev = type;\n\t}\n\tflush(input.length);\n\treturn result;\n}\n\n//#endregion\n//#region src/utils/_getByteCount/_getByteCount.ts\nlet textEncoder;\n/**\n* Returns the byte count of the input.\n*\n* @param input The input to be measured.\n*\n* @returns The byte count.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getByteCount(input) {\n\tif (!textEncoder) textEncoder = new TextEncoder();\n\treturn textEncoder.encode(input).length;\n}\n\n//#endregion\n//#region src/utils/_getCodePointCount/_getCodePointCount.ts\n/**\n* Returns the code point count of the input.\n*\n* @param input The input to be measured.\n*\n* @returns The code point count.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getCodePointCount(input) {\n\tlet count = input.length;\n\tconst lengthMinus1 = input.length - 1;\n\tfor (let i = 0; i < lengthMinus1;) if (input.codePointAt(i) <= 65535) i++;\n\telse {\n\t\ti += 2;\n\t\tcount--;\n\t}\n\treturn count;\n}\n\n//#endregion\n//#region src/utils/_getGraphemeCount/_getGraphemeCount.ts\nlet segmenter;\n/**\n* Returns the grapheme count of the input.\n*\n* @param input The input to be measured.\n*\n* @returns The grapheme count.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getGraphemeCount(input) {\n\tif (!segmenter) segmenter = new Intl.Segmenter();\n\tconst segments = segmenter.segment(input);\n\tlet count = 0;\n\tfor (const _ of segments) count++;\n\treturn count;\n}\n\n//#endregion\n//#region src/utils/_getLastMetadata/_getLastMetadata.ts\n/**\n* Returns the last top-level value of a given metadata type from a schema\n* using a breadth-first search that starts with the last item in the pipeline.\n*\n* @param schema The schema to search.\n* @param type The metadata type.\n*\n* @returns The value, if any.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getLastMetadata(schema, type) {\n\tif (\"pipe\" in schema) {\n\t\tconst nestedSchemas = [];\n\t\tfor (let index = schema.pipe.length - 1; index >= 0; index--) {\n\t\t\tconst item = schema.pipe[index];\n\t\t\tif (item.kind === \"schema\" && \"pipe\" in item) nestedSchemas.push(item);\n\t\t\telse if (item.kind === \"metadata\" && item.type === type) return item[type];\n\t\t}\n\t\tfor (const nestedSchema of nestedSchemas) {\n\t\t\tconst result = /* @__PURE__ */ _getLastMetadata(nestedSchema, type);\n\t\t\tif (result !== void 0) return result;\n\t\t}\n\t}\n}\n\n//#endregion\n//#region src/utils/_getWordCount/_getWordCount.ts\nlet store;\n/**\n* Returns the word count of the input.\n*\n* @param locales The locales to be used.\n* @param input The input to be measured.\n*\n* @returns The word count.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getWordCount(locales, input) {\n\tif (!store) store = /* @__PURE__ */ new Map();\n\tconst key = String(locales);\n\tlet segmenter$1 = store.get(key);\n\tif (!segmenter$1) {\n\t\tsegmenter$1 = new Intl.Segmenter(locales, { granularity: \"word\" });\n\t\tstore.set(key, segmenter$1);\n\t}\n\tconst segments = segmenter$1.segment(input);\n\tlet count = 0;\n\tfor (const segment of segments) if (segment.isWordLike) count++;\n\treturn count;\n}\n\n//#endregion\n//#region src/utils/_isLuhnAlgo/_isLuhnAlgo.ts\n/**\n* Non-digit regex.\n*/\nconst NON_DIGIT_REGEX = /\\D/gu;\n/**\n* Checks whether a string with numbers corresponds to the luhn algorithm.\n*\n* @param input The input to be checked.\n*\n* @returns Whether input is valid.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _isLuhnAlgo(input) {\n\tconst number$1 = input.replace(NON_DIGIT_REGEX, \"\");\n\tlet length$1 = number$1.length;\n\tlet bit = 1;\n\tlet sum = 0;\n\twhile (length$1) {\n\t\tconst value$1 = +number$1[--length$1];\n\t\tbit ^= 1;\n\t\tsum += bit ? [\n\t\t\t0,\n\t\t\t2,\n\t\t\t4,\n\t\t\t6,\n\t\t\t8,\n\t\t\t1,\n\t\t\t3,\n\t\t\t5,\n\t\t\t7,\n\t\t\t9\n\t\t][value$1] : value$1;\n\t}\n\treturn sum % 10 === 0;\n}\n\n//#endregion\n//#region src/utils/_isSameValueZero/_isSameValueZero.ts\n/**\n* Compares two values using the SameValueZero algorithm, which treats `NaN`\n* as equal to itself unlike `===`.\n*\n* @param value1 The first value.\n* @param value2 The second value.\n*\n* @returns Whether the values are equal.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _isSameValueZero(value1, value2) {\n\treturn value1 === value2 || Number.isNaN(value1) && Number.isNaN(value2);\n}\n\n//#endregion\n//#region src/utils/_isValidObjectKey/_isValidObjectKey.ts\n/**\n* Disallows inherited object properties and prevents object prototype\n* pollution by disallowing certain keys.\n*\n* @param object The object to check.\n* @param key The key to check.\n*\n* @returns Whether the key is allowed.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _isValidObjectKey(object$1, key) {\n\treturn Object.prototype.hasOwnProperty.call(object$1, key) && key !== \"__proto__\" && key !== \"prototype\" && key !== \"constructor\";\n}\n\n//#endregion\n//#region src/utils/_isValueMatch/_isValueMatch.ts\n/**\n* Checks whether a value matches a value action requirement.\n*\n* @param requirement The value action requirement.\n* @param value The value to check.\n*\n* @returns Whether the value matches the requirement.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _isValueMatch(requirement, value$1) {\n\treturn Number.isNaN(requirement) && Number.isNaN(value$1) || requirement <= value$1 && requirement >= value$1;\n}\n\n//#endregion\n//#region src/utils/_joinExpects/_joinExpects.ts\n/**\n* Joins multiple `expects` values with the given separator.\n*\n* @param values The `expects` values.\n* @param separator The separator.\n*\n* @returns The joined `expects` property.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _joinExpects(values$1, separator) {\n\tconst list = [...new Set(values$1)];\n\tif (list.length > 1) return `(${list.join(` ${separator} `)})`;\n\treturn list[0] ?? \"never\";\n}\n\n//#endregion\n//#region src/utils/_standardSchema/_standardSchema.ts\n/**\n* Eagerly creates and attaches the Standard Schema properties of a schema.\n*\n* Hint: The contextual `this` type includes the standard properties that are\n* attached before the schema is returned.\n*\n* @param schema The schema to attach standard properties to.\n*\n* @returns The schema with standard properties attached.\n*\n* @internal\n*/\nfunction _standardSchema(schema) {\n\tschema[\"~standard\"] = {\n\t\tversion: 1,\n\t\tvendor: \"valibot\",\n\t\tvalidate: (value$1) => schema[\"~run\"]({ value: value$1 }, /* @__PURE__ */ getGlobalConfig())\n\t};\n\treturn schema;\n}\n\n//#endregion\n//#region src/utils/entriesFromList/entriesFromList.ts\n/**\n* Creates an object entries definition from a list of keys and a schema.\n*\n* @param list A list of keys.\n* @param schema The schema of the keys.\n*\n* @returns The object entries.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction entriesFromList(list, schema) {\n\tconst entries$1 = {};\n\tfor (const key of list) entries$1[key] = schema;\n\treturn entries$1;\n}\n\n//#endregion\n//#region src/utils/entriesFromObjects/entriesFromObjects.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction entriesFromObjects(schemas) {\n\tconst entries$1 = {};\n\tfor (const schema of schemas) Object.assign(entries$1, schema.entries);\n\treturn entries$1;\n}\n\n//#endregion\n//#region src/utils/getDotPath/getDotPath.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDotPath(issue) {\n\tif (issue.path) {\n\t\tlet key = \"\";\n\t\tfor (const item of issue.path) if (typeof item.key === \"string\" || typeof item.key === \"number\") if (key) key += `.${item.key}`;\n\t\telse key += item.key;\n\t\telse return null;\n\t\treturn key;\n\t}\n\treturn null;\n}\n\n//#endregion\n//#region src/utils/isOfKind/isOfKind.ts\n/**\n* A generic type guard to check the kind of an object.\n*\n* @param kind The kind to check for.\n* @param object The object to check.\n*\n* @returns Whether it matches.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction isOfKind(kind, object$1) {\n\treturn object$1.kind === kind;\n}\n\n//#endregion\n//#region src/utils/isOfType/isOfType.ts\n/**\n* A generic type guard to check the type of an object.\n*\n* @param type The type to check for.\n* @param object The object to check.\n*\n* @returns Whether it matches.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction isOfType(type, object$1) {\n\treturn object$1.type === type;\n}\n\n//#endregion\n//#region src/utils/ValiError/ValiError.ts\n/**\n* A Valibot error with useful information.\n*/\nvar ValiError = class extends Error {\n\t/**\n\t* Creates a Valibot error with useful information.\n\t*\n\t* @param issues The error issues.\n\t*/\n\tconstructor(issues) {\n\t\tsuper(issues[0].message);\n\t\tthis.name = \"ValiError\";\n\t\tthis.issues = issues;\n\t}\n};\n\n//#endregion\n//#region src/utils/isValiError/isValiError.ts\n/**\n* A type guard to check if an error is a ValiError.\n*\n* @param error The error to check.\n*\n* @returns Whether its a ValiError.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction isValiError(error) {\n\treturn error instanceof ValiError;\n}\n\n//#endregion\n//#region src/actions/args/args.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction args(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"args\",\n\t\treference: args,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = (...args_) => {\n\t\t\t\tconst argsDataset = this.schema[\"~run\"]({ value: args_ }, config$1);\n\t\t\t\tif (argsDataset.issues) throw new ValiError(argsDataset.issues);\n\t\t\t\treturn func(...argsDataset.value);\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/args/argsAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction argsAsync(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"args\",\n\t\treference: argsAsync,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = async (...args$1) => {\n\t\t\t\tconst argsDataset = await schema[\"~run\"]({ value: args$1 }, config$1);\n\t\t\t\tif (argsDataset.issues) throw new ValiError(argsDataset.issues);\n\t\t\t\treturn func(...argsDataset.value);\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/await/awaitAsync.ts\n/**\n* Creates an await transformation action.\n*\n* @returns An await action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction awaitAsync() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"await\",\n\t\treference: awaitAsync,\n\t\tasync: true,\n\t\tasync \"~run\"(dataset) {\n\t\t\tdataset.value = await dataset.value;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/regex.ts\n/**\n* [Base64](https://en.wikipedia.org/wiki/Base64) regex.\n*/\nconst BASE64_REGEX = /^(?:[\\da-z+/]{4})*(?:[\\da-z+/]{2}==|[\\da-z+/]{3}=)?$/iu;\n/**\n* [BIC](https://en.wikipedia.org/wiki/ISO_9362) regex.\n*/\nconst BIC_REGEX = /^[A-Z]{6}(?!00)[\\dA-Z]{2}(?:[\\dA-Z]{3})?$/u;\n/**\n* [Cuid2](https://github.com/paralleldrive/cuid2) regex.\n*/\nconst CUID2_REGEX = /^[a-z][\\da-z]*$/u;\n/**\n* [Decimal](https://en.wikipedia.org/wiki/Decimal) regex.\n*/\nconst DECIMAL_REGEX = /^[+-]?(?:\\d*\\.)?\\d+$/u;\n/**\n* [Digits](https://en.wikipedia.org/wiki/Numerical_digit) regex.\n*/\nconst DIGITS_REGEX = /^\\d+$/u;\n/**\n* [Domain name](https://en.wikipedia.org/wiki/Domain_name) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n* ASCII-only validation. Internationalized domain names (IDNs) are not\n* supported, including Punycode-encoded labels.\n*/\nconst DOMAIN_REGEX = /^(?=.{1,253}$)(?:(?![Xx][Nn]--)[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+[A-Za-z]{2,63}$/u;\n/**\n* [Email address](https://en.wikipedia.org/wiki/Email_address) regex.\n*\n* Hint: We decided against the `i` flag to avoid matching non-ASCII characters.\n*/\nconst EMAIL_REGEX = /^[\\w+-]+(?:\\.[\\w+-]+)*@[\\da-zA-Z]+(?:[.-][\\da-zA-Z]+)*\\.[a-zA-Z]{2,}$/u;\n/**\n* Emoji regex from [emoji-regex-xs](https://github.com/slevithan/emoji-regex-xs) v1.0.0 (MIT license).\n*\n* Hint: We decided against the newer `/^\\p{RGI_Emoji}+$/v` regex because it is\n* not supported in older runtimes and does not match all emoji.\n*/\nconst EMOJI_REGEX = /^(?:[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|(?![\\p{Emoji_Modifier_Base}\\u{1F1E6}-\\u{1F1FF}])\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|(?![\\p{Emoji_Modifier_Base}\\u{1F1E6}-\\u{1F1FF}])\\p{Emoji_Presentation}))*)+$/u;\n/**\n* [Hexadecimal](https://en.wikipedia.org/wiki/Hexadecimal) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst HEXADECIMAL_REGEX = /^(?:0[hx])?[\\da-fA-F]+$/u;\n/**\n* [Hex color](https://en.wikipedia.org/wiki/Web_colors#Hex_triplet) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst HEX_COLOR_REGEX = /^#(?:[\\da-fA-F]{3,4}|[\\da-fA-F]{6}|[\\da-fA-F]{8})$/u;\n/**\n* [IMEI](https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity) regex.\n*/\nconst IMEI_REGEX = /^\\d{15}$|^\\d{2}-\\d{6}-\\d{6}-\\d$/u;\n/**\n* [IPv4](https://en.wikipedia.org/wiki/IPv4) regex.\n*/\nconst IPV4_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$/u;\n/**\n* [IPv6](https://en.wikipedia.org/wiki/IPv6) regex.\n*/\nconst IPV6_REGEX = /^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\n/**\n* [IP](https://en.wikipedia.org/wiki/IP_address) regex.\n*/\nconst IP_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$|^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date regex.\n*/\nconst ISO_DATE_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time regex.\n*/\nconst ISO_DATE_TIME_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with seconds regex.\n*/\nconst ISO_DATE_TIME_SECOND_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time regex.\n*/\nconst ISO_TIME_REGEX = /^(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time with seconds regex.\n*/\nconst ISO_TIME_SECOND_REGEX = /^(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp regex. Allows a\n* space as a date/time separator and an optional space before the UTC offset.\n*/\nconst ISO_TIMESTAMP_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}(?:\\.\\d{1,9})?(?:Z| ?[+-](?:0\\d|1\\d|2[0-3])(?::?[0-5]\\d)?)$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) week regex.\n*/\nconst ISO_WEEK_REGEX = /^\\d{4}-W(?:0[1-9]|[1-4]\\d|5[0-3])$/u;\n/**\n* [JWS compact serialization](https://datatracker.ietf.org/doc/html/rfc7515#section-3.1)\n* regex.\n*\n* Hint: Empty payload and signature segments are allowed because the\n* Base64URL-encoded representation of an empty octet sequence is an empty\n* string.\n*/\nconst JWS_COMPACT_REGEX = /^(?:[\\w-]{2,3}|(?:[\\w-]{4})+(?:[\\w-]{2,3})?)\\.(?:[\\w-]{2,3}|(?:[\\w-]{4})+(?:[\\w-]{2,3})?)?\\.(?:[\\w-]{2,3}|(?:[\\w-]{4})+(?:[\\w-]{2,3})?)?$/u;\n/**\n* [ISRC](https://en.wikipedia.org/wiki/International_Standard_Recording_Code) regex.\n*/\nconst ISRC_REGEX = /^(?:[A-Z]{2}[A-Z\\d]{3}\\d{7}|[A-Z]{2}-[A-Z\\d]{3}-\\d{2}-\\d{5})$/u;\n/**\n* [KSUID](https://github.com/segmentio/ksuid) regex.\n*/\nconst KSUID_REGEX = /^[a-zA-Z0-9]{27}$/u;\n/**\n* [MAC](https://en.wikipedia.org/wiki/MAC_address) 48 bit regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst MAC48_REGEX = /^(?:[\\da-fA-F]{2}:){5}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{2}-){5}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{4}\\.){2}[\\da-fA-F]{4}$/u;\n/**\n* [MAC](https://en.wikipedia.org/wiki/MAC_address) 64 bit regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst MAC64_REGEX = /^(?:[\\da-fA-F]{2}:){7}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{2}-){7}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{4}\\.){3}[\\da-fA-F]{4}$|^(?:[\\da-fA-F]{4}:){3}[\\da-fA-F]{4}$/u;\n/**\n* [MAC](https://en.wikipedia.org/wiki/MAC_address) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst MAC_REGEX = /^(?:[\\da-fA-F]{2}:){5}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{2}-){5}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{4}\\.){2}[\\da-fA-F]{4}$|^(?:[\\da-fA-F]{2}:){7}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{2}-){7}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{4}\\.){3}[\\da-fA-F]{4}$|^(?:[\\da-fA-F]{4}:){3}[\\da-fA-F]{4}$/u;\n/**\n* [Nano ID](https://github.com/ai/nanoid) regex.\n*/\nconst NANO_ID_REGEX = /^[\\w-]+$/u;\n/**\n* [Octal](https://en.wikipedia.org/wiki/Octal) regex.\n*/\nconst OCTAL_REGEX = /^(?:0o)?[0-7]+$/u;\n/**\n* [RFC 5322 email address](https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1) regex.\n*\n* Hint: This regex was taken from the [HTML Living Standard Specification](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address) and does not perfectly represent RFC 5322.\n*/\nconst RFC_EMAIL_REGEX = /^[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/**\n* [Slug](https://en.wikipedia.org/wiki/Clean_URL#Slug) regex.\n*/\nconst SLUG_REGEX = /^[\\da-z]+(?:[-_][\\da-z]+)*$/u;\n/**\n* [ULID](https://github.com/ulid/spec) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n* Hint: The first character is restricted to `[0-7]` because the 48-bit\n* timestamp cannot exceed 2^48-1, making the maximum valid ULID\n* `7ZZZZZZZZZZZZZZZZZZZZZZZZZ` in Crockford's Base32 encoding.\n*/\nconst ULID_REGEX = /^[0-7][\\da-hjkmnp-tv-zA-HJKMNP-TV-Z]{25}$/u;\n/**\n* [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) regex.\n*/\nconst UUID_REGEX = /^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu;\n\n//#endregion\n//#region src/actions/base64/base64.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction base64(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"base64\",\n\t\treference: base64,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: BASE64_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"Base64\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/bic/bic.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction bic(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"bic\",\n\t\treference: bic,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: BIC_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"BIC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/brand/brand.ts\n/**\n* Creates a brand transformation action.\n*\n* @param name The brand name.\n*\n* @returns A brand action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction brand(name) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"brand\",\n\t\treference: brand,\n\t\tasync: false,\n\t\tname,\n\t\t\"~run\"(dataset) {\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/bytes/bytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction bytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"bytes\",\n\t\treference: bytes,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 !== this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/check/check.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction check(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check\",\n\t\treference: check,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/check/checkAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction checkAsync(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check\",\n\t\treference: checkAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !await this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/checkItems/checkItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction checkItems(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check_items\",\n\t\treference: checkItems,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) for (let index = 0; index < dataset.value.length; index++) {\n\t\t\t\tconst item = dataset.value[index];\n\t\t\t\tif (!this.requirement(item, index, dataset.value)) _addIssue(this, \"item\", dataset, config$1, {\n\t\t\t\t\tinput: item,\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput: dataset.value,\n\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\tvalue: item\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/checkItems/checkItemsAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction checkItemsAsync(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check_items\",\n\t\treference: checkItemsAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst requirementResults = await Promise.all(dataset.value.map(this.requirement));\n\t\t\t\tfor (let index = 0; index < dataset.value.length; index++) if (!requirementResults[index]) {\n\t\t\t\t\tconst item = dataset.value[index];\n\t\t\t\t\t_addIssue(this, \"item\", dataset, config$1, {\n\t\t\t\t\t\tinput: item,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput: dataset.value,\n\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\tvalue: item\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/codePoints/codePoints.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction codePoints(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"code_points\",\n\t\treference: codePoints,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getCodePointCount(dataset.value);\n\t\t\t\tif (count !== this.requirement) _addIssue(this, \"code points\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/creditCard/creditCard.ts\n/**\n* Credit card regex.\n*/\nconst CREDIT_CARD_REGEX = /^(?:\\d{13,19}|\\d{4}(?: \\d{3,6}){2,4}|\\d{4}(?:-\\d{3,6}){2,4})$/u;\n/**\n* Sanitize regex.\n*/\nconst SANITIZE_REGEX = /[- ]/gu;\n/**\n* Provider regex list.\n*/\nconst PROVIDER_REGEX_LIST = [\n\t/^3[47]\\d{13}$/u,\n\t/^3(?:0[0-5]|[68]\\d)\\d{11,13}$/u,\n\t/^6(?:011|5\\d{2})\\d{12,15}$/u,\n\t/^(?:2131|1800|35\\d{3})\\d{11}$/u,\n\t/^(?:5[1-5]\\d{2}|222\\d|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}$/u,\n\t/^(?:6[27]\\d{14,17}|81\\d{14,17})$/u,\n\t/^4\\d{12}(?:\\d{3,6})?$/u\n];\n/* @__NO_SIDE_EFFECTS__ */\nfunction creditCard(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"credit_card\",\n\t\treference: creditCard,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement(input) {\n\t\t\tlet sanitized;\n\t\t\treturn CREDIT_CARD_REGEX.test(input) && (sanitized = input.replace(SANITIZE_REGEX, \"\")) && PROVIDER_REGEX_LIST.some((regex$1) => regex$1.test(sanitized)) && /* @__PURE__ */ _isLuhnAlgo(sanitized);\n\t\t},\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"credit card\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/cuid2/cuid2.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction cuid2(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"cuid2\",\n\t\treference: cuid2,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: CUID2_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"Cuid2\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/decimal/decimal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction decimal(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"decimal\",\n\t\treference: decimal,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: DECIMAL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"decimal\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/description/description.ts\n/**\n* Creates a description metadata action.\n*\n* @param description_ The description text.\n*\n* @returns A description action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction description(description_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"description\",\n\t\treference: description,\n\t\tdescription: description_\n\t};\n}\n\n//#endregion\n//#region src/actions/digits/digits.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction digits(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"digits\",\n\t\treference: digits,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: DIGITS_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"digits\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/domain/domain.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction domain(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"domain\",\n\t\treference: domain,\n\t\texpects: null,\n\t\tasync: false,\n\t\trequirement: DOMAIN_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"domain\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/email/email.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction email(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"email\",\n\t\treference: email,\n\t\texpects: null,\n\t\tasync: false,\n\t\trequirement: EMAIL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"email\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/emoji/emoji.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction emoji(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"emoji\",\n\t\treference: emoji,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: EMOJI_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"emoji\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/empty/empty.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction empty(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"empty\",\n\t\treference: empty,\n\t\tasync: false,\n\t\texpects: \"0\",\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length > 0) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/endsWith/endsWith.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction endsWith(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ends_with\",\n\t\treference: endsWith,\n\t\tasync: false,\n\t\texpects: `\"${requirement}\"`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.endsWith(this.requirement)) _addIssue(this, \"end\", dataset, config$1, { received: `\"${dataset.value.slice(-this.requirement.length)}\"` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/entries/entries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction entries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"entries\",\n\t\treference: entries,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count !== this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/everyItem/everyItem.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction everyItem(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"every_item\",\n\t\treference: everyItem,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.every(this.requirement)) _addIssue(this, \"item\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/examples/examples.ts\n/**\n* Creates an examples metadata action.\n*\n* @param examples_ The examples.\n*\n* @returns An examples action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction examples(examples_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"examples\",\n\t\treference: examples,\n\t\texamples: examples_\n\t};\n}\n\n//#endregion\n//#region src/actions/excludes/excludes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction excludes(requirement, message$1) {\n\tconst received = /* @__PURE__ */ _stringify(requirement);\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"excludes\",\n\t\treference: excludes,\n\t\tasync: false,\n\t\texpects: `!${received}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.includes(this.requirement)) _addIssue(this, \"content\", dataset, config$1, { received });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/filterItems/filterItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction filterItems(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"filter_items\",\n\t\treference: filterItems,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.filter(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/findItem/findItem.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction findItem(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"find_item\",\n\t\treference: findItem,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.find(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/finite/finite.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction finite(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"finite\",\n\t\treference: finite,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: Number.isFinite,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"finite\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/flavor/flavor.ts\n/**\n* Creates a flavor transformation action.\n*\n* @param name The flavor name.\n*\n* @returns A flavor action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction flavor(name) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"flavor\",\n\t\treference: flavor,\n\t\tasync: false,\n\t\tname,\n\t\t\"~run\"(dataset) {\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/graphemes/graphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction graphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"graphemes\",\n\t\treference: graphemes,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count !== this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/gtValue/gtValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction gtValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"gt_value\",\n\t\treference: gtValue,\n\t\tasync: false,\n\t\texpects: `>${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value > this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/guard/guard.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction guard(requirement, message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"guard\",\n\t\treference: guard,\n\t\tasync: false,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) {\n\t\t\t\t_addIssue(this, \"input\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/hash/hash.ts\n/**\n* Hash lengths object.\n*/\nconst HASH_LENGTHS = {\n\tmd4: 32,\n\tmd5: 32,\n\tsha1: 40,\n\tsha256: 64,\n\tsha384: 96,\n\tsha512: 128,\n\tripemd128: 32,\n\tripemd160: 40,\n\ttiger128: 32,\n\ttiger160: 40,\n\ttiger192: 48,\n\tcrc32: 8,\n\tcrc32b: 8,\n\tadler32: 8\n};\n/* @__NO_SIDE_EFFECTS__ */\nfunction hash(types, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"hash\",\n\t\treference: hash,\n\t\texpects: null,\n\t\tasync: false,\n\t\trequirement: RegExp(types.map((type) => `^[a-fA-F0-9]{${HASH_LENGTHS[type]}}$`).join(\"|\"), \"u\"),\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"hash\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/hexadecimal/hexadecimal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction hexadecimal(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"hexadecimal\",\n\t\treference: hexadecimal,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: HEXADECIMAL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"hexadecimal\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/hexColor/hexColor.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction hexColor(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"hex_color\",\n\t\treference: hexColor,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: HEX_COLOR_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"hex color\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/imei/imei.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction imei(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"imei\",\n\t\treference: imei,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement(input) {\n\t\t\treturn IMEI_REGEX.test(input) && /* @__PURE__ */ _isLuhnAlgo(input);\n\t\t},\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"IMEI\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/includes/includes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction includes(requirement, message$1) {\n\tconst expects = /* @__PURE__ */ _stringify(requirement);\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"includes\",\n\t\treference: includes,\n\t\tasync: false,\n\t\texpects,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.includes(this.requirement)) _addIssue(this, \"content\", dataset, config$1, { received: `!${expects}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/integer/integer.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction integer(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"integer\",\n\t\treference: integer,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: Number.isInteger,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"integer\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ip/ip.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ip(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ip\",\n\t\treference: ip,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: IP_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"IP\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ipv4/ipv4.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ipv4(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ipv4\",\n\t\treference: ipv4,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: IPV4_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"IPv4\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ipv6/ipv6.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ipv6(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ipv6\",\n\t\treference: ipv6,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: IPV6_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"IPv6\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isbn/utils/_isIsbn10.ts\n/**\n* [Validates an ISBN-10](https://en.wikipedia.org/wiki/ISBN#ISBN-10_check_digits).\n*\n* @param input The input value.\n*\n* @returns `true` if the input is a valid ISBN-10, `false` otherwise.\n*\n* @internal\n*/\nfunction _isIsbn10(input) {\n\tconst digits$1 = input.split(\"\").map((c) => c === \"X\" ? 10 : parseInt(c));\n\tlet sum = 0;\n\tfor (let i = 0; i < 10; i++) sum += digits$1[i] * (10 - i);\n\treturn sum % 11 === 0;\n}\n\n//#endregion\n//#region src/actions/isbn/utils/_isIsbn13.ts\n/**\n* [Validates an ISBN-13](https://en.wikipedia.org/wiki/ISBN#ISBN-13_check_digit_calculation).\n*\n* @param input The input value.\n*\n* @returns `true` if the input is a valid ISBN-13, `false` otherwise.\n*\n* @internal\n*/\nfunction _isIsbn13(input) {\n\tconst digits$1 = input.split(\"\").map((c) => parseInt(c));\n\tlet sum = 0;\n\tfor (let i = 0; i < 13; i++) sum += digits$1[i] * (i % 2 === 0 ? 1 : 3);\n\treturn sum % 10 === 0;\n}\n\n//#endregion\n//#region src/actions/isbn/isbn.ts\n/**\n* ISBN separator regex.\n*/\nconst ISBN_SEPARATOR_REGEX = /[- ]/gu;\n/**\n* ISBN-10 detection regex.\n*/\nconst ISBN_10_DETECTION_REGEX = /^\\d{9}[\\dX]$/u;\n/**\n* ISBN-13 detection regex.\n*/\nconst ISBN_13_DETECTION_REGEX = /^\\d{13}$/u;\n/* @__NO_SIDE_EFFECTS__ */\nfunction isbn(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"isbn\",\n\t\treference: isbn,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement(input) {\n\t\t\tconst replacedInput = input.replace(ISBN_SEPARATOR_REGEX, \"\");\n\t\t\tif (ISBN_10_DETECTION_REGEX.test(replacedInput)) return _isIsbn10(replacedInput);\n\t\t\telse if (ISBN_13_DETECTION_REGEX.test(replacedInput)) return _isIsbn13(replacedInput);\n\t\t\treturn false;\n\t\t},\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"ISBN\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isrc/isrc.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isrc(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"isrc\",\n\t\treference: isrc,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISRC_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"ISRC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoDate/isoDate.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoDate(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_date\",\n\t\treference: isoDate,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_DATE_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"date\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoDateTime/isoDateTime.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoDateTime(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_date_time\",\n\t\treference: isoDateTime,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_DATE_TIME_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"date-time\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoDateTimeSecond/isoDateTimeSecond.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoDateTimeSecond(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_date_time_second\",\n\t\treference: isoDateTimeSecond,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_DATE_TIME_SECOND_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"date-time-second\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoTime/isoTime.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoTime(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_time\",\n\t\treference: isoTime,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_TIME_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"time\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoTimeSecond/isoTimeSecond.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoTimeSecond(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_time_second\",\n\t\treference: isoTimeSecond,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_TIME_SECOND_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"time-second\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoTimestamp/isoTimestamp.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoTimestamp(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_timestamp\",\n\t\treference: isoTimestamp,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_TIMESTAMP_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"timestamp\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoWeek/isoWeek.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoWeek(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_week\",\n\t\treference: isoWeek,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_WEEK_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"week\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/jwsCompact/jwsCompact.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction jwsCompact(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"jws_compact\",\n\t\treference: jwsCompact,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: JWS_COMPACT_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"JWS compact\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ksuid/ksuid.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ksuid(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ksuid\",\n\t\treference: ksuid,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: KSUID_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"KSUID\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/length/length.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction length(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"length\",\n\t\treference: length,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length !== this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ltValue/ltValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ltValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"lt_value\",\n\t\treference: ltValue,\n\t\tasync: false,\n\t\texpects: `<${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value < this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mac/mac.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mac(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mac\",\n\t\treference: mac,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: MAC_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"MAC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mac48/mac48.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mac48(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mac48\",\n\t\treference: mac48,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: MAC48_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"48-bit MAC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mac64/mac64.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mac64(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mac64\",\n\t\treference: mac64,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: MAC64_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"64-bit MAC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mapItems/mapItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mapItems(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"map_items\",\n\t\treference: mapItems,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.map(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxBytes/maxBytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxBytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_bytes\",\n\t\treference: maxBytes,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 > this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxCodePoints/maxCodePoints.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxCodePoints(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_code_points\",\n\t\treference: maxCodePoints,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getCodePointCount(dataset.value);\n\t\t\t\tif (count > this.requirement) _addIssue(this, \"code points\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxEntries/maxEntries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxEntries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_entries\",\n\t\treference: maxEntries,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count > this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxGraphemes/maxGraphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxGraphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_graphemes\",\n\t\treference: maxGraphemes,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count > this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxLength/maxLength.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxLength(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_length\",\n\t\treference: maxLength,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length > this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxSize/maxSize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxSize(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_size\",\n\t\treference: maxSize,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size > this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxValue/maxValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_value\",\n\t\treference: maxValue,\n\t\tasync: false,\n\t\texpects: `<=${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value <= this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxWords/maxWords.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxWords(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_words\",\n\t\treference: maxWords,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count > this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/metadata/metadata.ts\n/**\n* Creates a custom metadata action.\n*\n* @param metadata_ The metadata object.\n*\n* @returns A metadata action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction metadata(metadata_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"metadata\",\n\t\treference: metadata,\n\t\tmetadata: metadata_\n\t};\n}\n\n//#endregion\n//#region src/actions/mimeType/mimeType.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mimeType(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mime_type\",\n\t\treference: mimeType,\n\t\tasync: false,\n\t\texpects: /* @__PURE__ */ _joinExpects(requirement.map((option) => `\"${option}\"`), \"|\"),\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.includes(dataset.value.type)) _addIssue(this, \"MIME type\", dataset, config$1, { received: `\"${dataset.value.type}\"` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minBytes/minBytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minBytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_bytes\",\n\t\treference: minBytes,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 < this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minCodePoints/minCodePoints.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minCodePoints(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_code_points\",\n\t\treference: minCodePoints,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getCodePointCount(dataset.value);\n\t\t\t\tif (count < this.requirement) _addIssue(this, \"code points\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minEntries/minEntries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minEntries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_entries\",\n\t\treference: minEntries,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count < this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minGraphemes/minGraphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minGraphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_graphemes\",\n\t\treference: minGraphemes,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count < this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minLength/minLength.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minLength(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_length\",\n\t\treference: minLength,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length < this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minSize/minSize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minSize(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_size\",\n\t\treference: minSize,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size < this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minValue/minValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_value\",\n\t\treference: minValue,\n\t\tasync: false,\n\t\texpects: `>=${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value >= this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minWords/minWords.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minWords(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_words\",\n\t\treference: minWords,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count < this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/multipleOf/multipleOf.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction multipleOf(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"multiple_of\",\n\t\treference: multipleOf,\n\t\tasync: false,\n\t\texpects: `%${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value % this.requirement != 0) _addIssue(this, \"multiple\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/nanoid/nanoid.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nanoid(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"nanoid\",\n\t\treference: nanoid,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: NANO_ID_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"Nano ID\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/nonEmpty/nonEmpty.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonEmpty(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"non_empty\",\n\t\treference: nonEmpty,\n\t\tasync: false,\n\t\texpects: \"!0\",\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length === 0) _addIssue(this, \"length\", dataset, config$1, { received: \"0\" });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/normalize/normalize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction normalize(form) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"normalize\",\n\t\treference: normalize,\n\t\tasync: false,\n\t\tform,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.normalize(this.form);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notBytes/notBytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notBytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_bytes\",\n\t\treference: notBytes,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 === this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notCodePoints/notCodePoints.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notCodePoints(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_code_points\",\n\t\treference: notCodePoints,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getCodePointCount(dataset.value);\n\t\t\t\tif (count === this.requirement) _addIssue(this, \"code points\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notEntries/notEntries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notEntries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_entries\",\n\t\treference: notEntries,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count === this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notGraphemes/notGraphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notGraphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_graphemes\",\n\t\treference: notGraphemes,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count === this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notLength/notLength.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notLength(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_length\",\n\t\treference: notLength,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length === this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notSize/notSize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notSize(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_size\",\n\t\treference: notSize,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size === this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notValue/notValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_value\",\n\t\treference: notValue,\n\t\tasync: false,\n\t\texpects: requirement instanceof Date ? `!${requirement.toJSON()}` : `!${/* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && /* @__PURE__ */ _isValueMatch(this.requirement, dataset.value)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notValues/notValues.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notValues(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_values\",\n\t\treference: notValues,\n\t\tasync: false,\n\t\texpects: `!${/* @__PURE__ */ _joinExpects(requirement.map((value$1) => value$1 instanceof Date ? value$1.toJSON() : /* @__PURE__ */ _stringify(value$1)), \"|\")}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && this.requirement.some((requirement$1) => /* @__PURE__ */ _isValueMatch(requirement$1, dataset.value))) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notWords/notWords.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notWords(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_words\",\n\t\treference: notWords,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count === this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/octal/octal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction octal(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"octal\",\n\t\treference: octal,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: OCTAL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"octal\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/parseBoolean/parseBoolean.ts\nconst TRUTHY = [\n\ttrue,\n\t1,\n\t\"true\",\n\t\"1\",\n\t\"yes\",\n\t\"y\",\n\t\"on\",\n\t\"enabled\"\n];\nconst FALSY = [\n\tfalse,\n\t0,\n\t\"false\",\n\t\"0\",\n\t\"no\",\n\t\"n\",\n\t\"off\",\n\t\"disabled\"\n];\n/* @__NO_SIDE_EFFECTS__ */\nfunction parseBoolean(config$1, message$1) {\n\tconst normalize$1 = (v) => typeof v === \"string\" ? v.toLowerCase() : v;\n\tconst truthyRaw = config$1?.truthy ?? TRUTHY;\n\tconst falsyRaw = config$1?.falsy ?? FALSY;\n\tconst truthy = config$1?.truthy ? config$1.truthy.map(normalize$1) : TRUTHY;\n\tconst falsy = config$1?.falsy ? config$1.falsy.map(normalize$1) : FALSY;\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"parse_boolean\",\n\t\treference: parseBoolean,\n\t\texpects: /* @__PURE__ */ _joinExpects([...truthyRaw, ...falsyRaw].map(_stringify), \"|\"),\n\t\tconfig: config$1,\n\t\tmessage: message$1,\n\t\tasync: false,\n\t\t\"~run\"(dataset, config$2) {\n\t\t\tconst input = normalize$1(dataset.value);\n\t\t\tif (truthy.includes(input)) dataset.value = true;\n\t\t\telse if (falsy.includes(input)) dataset.value = false;\n\t\t\telse {\n\t\t\t\t_addIssue(this, \"boolean\", dataset, config$2);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/parseJson/parseJson.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction parseJson(config$1, message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"parse_json\",\n\t\treference: parseJson,\n\t\tconfig: config$1,\n\t\tmessage: message$1,\n\t\tasync: false,\n\t\t\"~run\"(dataset, config$2) {\n\t\t\ttry {\n\t\t\t\tdataset.value = JSON.parse(dataset.value, this.config?.reviver);\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof Error) {\n\t\t\t\t\t_addIssue(this, \"JSON\", dataset, config$2, { received: `\"${error.message}\"` });\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t} else throw error;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/partialCheck/utils/_isPartiallyTyped/_isPartiallyTyped.ts\n/**\n* Checks if a dataset is partially typed.\n*\n* @param dataset The dataset to check.\n* @param paths The paths to check.\n*\n* @returns Whether it is partially typed.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _isPartiallyTyped(dataset, paths) {\n\tif (dataset.issues) for (const path of paths) for (const issue of dataset.issues) {\n\t\tlet typed = false;\n\t\tconst bound = Math.min(path.length, issue.path?.length ?? 0);\n\t\tfor (let index = 0; index < bound; index++) if (path[index] !== issue.path[index].key && (path[index] !== \"$\" || issue.path[index].type !== \"array\")) {\n\t\t\ttyped = true;\n\t\t\tbreak;\n\t\t}\n\t\tif (!typed) return false;\n\t}\n\treturn true;\n}\n\n//#endregion\n//#region src/actions/partialCheck/partialCheck.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partialCheck(paths, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"partial_check\",\n\t\treference: partialCheck,\n\t\tasync: false,\n\t\texpects: null,\n\t\tpaths,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif ((dataset.typed || /* @__PURE__ */ _isPartiallyTyped(dataset, paths)) && !this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/partialCheck/partialCheckAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partialCheckAsync(paths, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"partial_check\",\n\t\treference: partialCheckAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\tpaths,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif ((dataset.typed || /* @__PURE__ */ _isPartiallyTyped(dataset, paths)) && !await this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawCheck/rawCheck.ts\n/**\n* Creates a raw check validation action.\n*\n* @param action The validation action.\n*\n* @returns A raw check action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawCheck(action) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"raw_check\",\n\t\treference: rawCheck,\n\t\tasync: false,\n\t\texpects: null,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\taction({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info)\n\t\t\t});\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawCheck/rawCheckAsync.ts\n/**\n* Creates a raw check validation action.\n*\n* @param action The validation action.\n*\n* @returns A raw check action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawCheckAsync(action) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"raw_check\",\n\t\treference: rawCheckAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tawait action({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info)\n\t\t\t});\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawTransform/rawTransform.ts\n/**\n* Creates a raw transformation action.\n*\n* @param action The transformation action.\n*\n* @returns A raw transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawTransform(action) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"raw_transform\",\n\t\treference: rawTransform,\n\t\tasync: false,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst output = action({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info),\n\t\t\t\tNEVER: null\n\t\t\t});\n\t\t\tif (dataset.issues) dataset.typed = false;\n\t\t\telse dataset.value = output;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawTransform/rawTransformAsync.ts\n/**\n* Creates a raw transformation action.\n*\n* @param action The transformation action.\n*\n* @returns A raw transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawTransformAsync(action) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"raw_transform\",\n\t\treference: rawTransformAsync,\n\t\tasync: true,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst output = await action({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info),\n\t\t\t\tNEVER: null\n\t\t\t});\n\t\t\tif (dataset.issues) dataset.typed = false;\n\t\t\telse dataset.value = output;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/readonly/readonly.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction readonly() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"readonly\",\n\t\treference: readonly,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/reduceItems/reduceItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction reduceItems(operation, initial) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"reduce_items\",\n\t\treference: reduceItems,\n\t\tasync: false,\n\t\toperation,\n\t\tinitial,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.reduce(this.operation, this.initial);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/regex/regex.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction regex(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"regex\",\n\t\treference: regex,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"format\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/returns/returns.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction returns(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"returns\",\n\t\treference: returns,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = (...args_) => {\n\t\t\t\tconst returnsDataset = this.schema[\"~run\"]({ value: func(...args_) }, config$1);\n\t\t\t\tif (returnsDataset.issues) throw new ValiError(returnsDataset.issues);\n\t\t\t\treturn returnsDataset.value;\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/returns/returnsAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction returnsAsync(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"returns\",\n\t\treference: returnsAsync,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = async (...args_) => {\n\t\t\t\tconst returnsDataset = await this.schema[\"~run\"]({ value: await func(...args_) }, config$1);\n\t\t\t\tif (returnsDataset.issues) throw new ValiError(returnsDataset.issues);\n\t\t\t\treturn returnsDataset.value;\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rfcEmail/rfcEmail.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction rfcEmail(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"rfc_email\",\n\t\treference: rfcEmail,\n\t\texpects: null,\n\t\tasync: false,\n\t\trequirement: RFC_EMAIL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"email\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/safeInteger/safeInteger.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeInteger(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"safe_integer\",\n\t\treference: safeInteger,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: Number.isSafeInteger,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"safe integer\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/size/size.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction size(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"size\",\n\t\treference: size,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size !== this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/slug/slug.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction slug(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"slug\",\n\t\treference: slug,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: SLUG_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"slug\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/someItem/someItem.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction someItem(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"some_item\",\n\t\treference: someItem,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.some(this.requirement)) _addIssue(this, \"item\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/sortItems/sortItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction sortItems(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"sort_items\",\n\t\treference: sortItems,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.sort(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/startsWith/startsWith.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction startsWith(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"starts_with\",\n\t\treference: startsWith,\n\t\tasync: false,\n\t\texpects: `\"${requirement}\"`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.startsWith(this.requirement)) _addIssue(this, \"start\", dataset, config$1, { received: `\"${dataset.value.slice(0, this.requirement.length)}\"` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/stringifyJson/stringifyJson.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction stringifyJson(config$1, message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"stringify_json\",\n\t\treference: stringifyJson,\n\t\tmessage: message$1,\n\t\tconfig: config$1,\n\t\tasync: false,\n\t\t\"~run\"(dataset, config$2) {\n\t\t\ttry {\n\t\t\t\tconst output = JSON.stringify(dataset.value, this.config?.replacer, this.config?.space);\n\t\t\t\tif (output === void 0) {\n\t\t\t\t\t_addIssue(this, \"JSON\", dataset, config$2);\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t} else dataset.value = output;\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof Error) {\n\t\t\t\t\t_addIssue(this, \"JSON\", dataset, config$2, { received: `\"${error.message}\"` });\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t} else throw error;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/title/title.ts\n/**\n* Creates a title metadata action.\n*\n* @param title_ The title text.\n*\n* @returns A title action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction title(title_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"title\",\n\t\treference: title,\n\t\ttitle: title_\n\t};\n}\n\n//#endregion\n//#region src/actions/toBigint/toBigint.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toBigint(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_bigint\",\n\t\treference: toBigint,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = BigInt(dataset.value);\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"bigint\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toBoolean/toBoolean.ts\n/**\n* Creates a to boolean transformation action.\n*\n* @returns A to boolean action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toBoolean() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_boolean\",\n\t\treference: toBoolean,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = Boolean(dataset.value);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toCamelCase/toCamelCase.ts\n/**\n* Creates a to camel case transformation action.\n*\n* Words are separated by `_`, `-` and ASCII whitespace, as well as by case\n* and acronym boundaries.\n*\n* Hint: Acronym runs are normalized to lowercase (e.g. `parseURLValue` →\n* `parseUrlValue`) and digits stay attached to the preceding token (e.g.\n* `item2Name` → `item2Name`).\n*\n* @returns A to camel case action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toCamelCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_camel_case\",\n\t\treference: toCamelCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = /* @__PURE__ */ _formatCase(dataset.value, \"\", false, true);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toDate/toDate.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toDate(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_date\",\n\t\treference: toDate,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = new Date(dataset.value);\n\t\t\t\tif (isNaN(dataset.value)) {\n\t\t\t\t\t_addIssue(this, \"date\", dataset, config$1, { received: \"\\\"Invalid Date\\\"\" });\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"date\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toKebabCase/toKebabCase.ts\n/**\n* Creates a to kebab case transformation action.\n*\n* Words are separated by `_`, `-` and ASCII whitespace, as well as by case\n* and acronym boundaries.\n*\n* Hint: Acronym runs are normalized to lowercase (e.g. `parseURLValue` →\n* `parse-url-value`) and digits stay attached to the preceding token (e.g.\n* `item2Name` → `item2-name`).\n*\n* @returns A to kebab case action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toKebabCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_kebab_case\",\n\t\treference: toKebabCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = /* @__PURE__ */ _formatCase(dataset.value, \"-\", false, false);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toLowerCase/toLowerCase.ts\n/**\n* Creates a to lower case transformation action.\n*\n* @returns A to lower case action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toLowerCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_lower_case\",\n\t\treference: toLowerCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.toLowerCase();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toMaxValue/toMaxValue.ts\n/**\n* Creates a to max value transformation action.\n*\n* @param requirement The maximum value.\n*\n* @returns A to max value action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toMaxValue(requirement) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_max_value\",\n\t\treference: toMaxValue,\n\t\tasync: false,\n\t\trequirement,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value > this.requirement ? this.requirement : dataset.value;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toMinValue/toMinValue.ts\n/**\n* Creates a to min value transformation action.\n*\n* @param requirement The minimum value.\n*\n* @returns A to min value action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toMinValue(requirement) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_min_value\",\n\t\treference: toMinValue,\n\t\tasync: false,\n\t\trequirement,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value < this.requirement ? this.requirement : dataset.value;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toNumber/toNumber.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toNumber(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_number\",\n\t\treference: toNumber,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = Number(dataset.value);\n\t\t\t\tif (isNaN(dataset.value)) {\n\t\t\t\t\t_addIssue(this, \"number\", dataset, config$1);\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"number\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toPascalCase/toPascalCase.ts\n/**\n* Creates a to pascal case transformation action.\n*\n* Words are separated by `_`, `-` and ASCII whitespace, as well as by case\n* and acronym boundaries.\n*\n* Hint: Acronym runs are normalized to lowercase (e.g. `parseURLValue` →\n* `ParseUrlValue`) and digits stay attached to the preceding token (e.g.\n* `item2Name` → `Item2Name`).\n*\n* @returns A to pascal case action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toPascalCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_pascal_case\",\n\t\treference: toPascalCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = /* @__PURE__ */ _formatCase(dataset.value, \"\", true, true);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toSnakeCase/toSnakeCase.ts\n/**\n* Creates a to snake case transformation action.\n*\n* Words are separated by `_`, `-` and ASCII whitespace, as well as by case\n* and acronym boundaries.\n*\n* Hint: Acronym runs are normalized to lowercase (e.g. `parseURLValue` →\n* `parse_url_value`) and digits stay attached to the preceding token (e.g.\n* `item2Name` → `item2_name`).\n*\n* @returns A to snake case action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toSnakeCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_snake_case\",\n\t\treference: toSnakeCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = /* @__PURE__ */ _formatCase(dataset.value, \"_\", false, false);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toString/toString.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toString(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_string\",\n\t\treference: toString,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = String(dataset.value);\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"string\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toUpperCase/toUpperCase.ts\n/**\n* Creates a to upper case transformation action.\n*\n* @returns A to upper case action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toUpperCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_upper_case\",\n\t\treference: toUpperCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.toUpperCase();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/transform/transform.ts\n/**\n* Creates a custom transformation action.\n*\n* @param operation The transformation operation.\n*\n* @returns A transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction transform(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"transform\",\n\t\treference: transform,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = this.operation(dataset.value);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/transform/transformAsync.ts\n/**\n* Creates a custom transformation action.\n*\n* @param operation The transformation operation.\n*\n* @returns A transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction transformAsync(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"transform\",\n\t\treference: transformAsync,\n\t\tasync: true,\n\t\toperation,\n\t\tasync \"~run\"(dataset) {\n\t\t\tdataset.value = await this.operation(dataset.value);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/trim/trim.ts\n/**\n* Creates a trim transformation action.\n*\n* @returns A trim action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction trim() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"trim\",\n\t\treference: trim,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.trim();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/trimEnd/trimEnd.ts\n/**\n* Creates a trim end transformation action.\n*\n* @returns A trim end action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction trimEnd() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"trim_end\",\n\t\treference: trimEnd,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.trimEnd();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/trimStart/trimStart.ts\n/**\n* Creates a trim start transformation action.\n*\n* @returns A trim start action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction trimStart() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"trim_start\",\n\t\treference: trimStart,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.trimStart();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ulid/ulid.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ulid(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ulid\",\n\t\treference: ulid,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ULID_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"ULID\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/url/url.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction url(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"url\",\n\t\treference: url,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement(input) {\n\t\t\ttry {\n\t\t\t\tif (URL.canParse) return URL.canParse(input);\n\t\t\t\tnew URL(input);\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"URL\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/uuid/uuid.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction uuid(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"uuid\",\n\t\treference: uuid,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: UUID_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"UUID\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/value/value.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction value(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"value\",\n\t\treference: value,\n\t\tasync: false,\n\t\texpects: requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement),\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !/* @__PURE__ */ _isValueMatch(this.requirement, dataset.value)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/values/values.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction values(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"values\",\n\t\treference: values,\n\t\tasync: false,\n\t\texpects: `${/* @__PURE__ */ _joinExpects(requirement.map((value$1) => value$1 instanceof Date ? value$1.toJSON() : /* @__PURE__ */ _stringify(value$1)), \"|\")}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.some((requirement$1) => /* @__PURE__ */ _isValueMatch(requirement$1, dataset.value))) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/words/words.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction words(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"words\",\n\t\treference: words,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count !== this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/const.ts\nconst ABORT_EARLY_CONFIG = { abortEarly: true };\n\n//#endregion\n//#region src/methods/assert/assert.ts\n/**\n* Checks if the input matches the schema. As this is an assertion function, it\n* can be used as a type guard.\n*\n* @param schema The schema to be used.\n* @param input The input to be tested.\n*/\nfunction assert(schema, input) {\n\tconst issues = schema[\"~run\"]({ value: input }, ABORT_EARLY_CONFIG).issues;\n\tif (issues) throw new ValiError(issues);\n}\n\n//#endregion\n//#region src/methods/cache/_LruCache.ts\n/**\n* Efficient LRU cache using Map iteration order.\n*/\nvar _LruCache = class {\n\tconstructor(config$1) {\n\t\tthis.refCount = 0;\n\t\tthis.maxSize = config$1?.maxSize ?? 1e3;\n\t\tthis.maxAge = config$1?.maxAge ?? Infinity;\n\t\tthis.hasMaxAge = isFinite(this.maxAge);\n\t}\n\t/**\n\t* Stringifies an unknown input to a cache key component.\n\t*\n\t* @param input The unknown input.\n\t*\n\t* @returns A cache key component.\n\t*/\n\tstringify(input) {\n\t\tconst type = typeof input;\n\t\tif (type === \"string\") return `\"${input}\"`;\n\t\tif (type === \"number\" || type === \"boolean\") return `${input}`;\n\t\tif (type === \"bigint\") return `${input}n`;\n\t\tif (type === \"object\" || type === \"function\") {\n\t\t\tif (input) {\n\t\t\t\tthis.refIds ?? (this.refIds = /* @__PURE__ */ new WeakMap());\n\t\t\t\tlet id = this.refIds.get(input);\n\t\t\t\tif (!id) {\n\t\t\t\t\tid = ++this.refCount;\n\t\t\t\t\tthis.refIds.set(input, id);\n\t\t\t\t}\n\t\t\t\treturn `#${id}`;\n\t\t\t}\n\t\t\treturn \"null\";\n\t\t}\n\t\treturn type;\n\t}\n\t/**\n\t* Creates a cache key from input and config.\n\t*\n\t* @param input The input value.\n\t* @param config The parse configuration.\n\t*\n\t* @returns The cache key.\n\t*/\n\tkey(input, config$1 = {}) {\n\t\treturn `${this.stringify(input)}|${this.stringify(config$1.lang)}|${this.stringify(config$1.message)}|${this.stringify(config$1.abortEarly)}|${this.stringify(config$1.abortPipeEarly)}`;\n\t}\n\t/**\n\t* Gets a value from the cache by key.\n\t*\n\t* @param key The cache key.\n\t*\n\t* @returns The cached value.\n\t*/\n\tget(key) {\n\t\tif (!this.store) return void 0;\n\t\tconst entry = this.store.get(key);\n\t\tif (!entry) return void 0;\n\t\tif (this.hasMaxAge && Date.now() - entry[1] > this.maxAge) {\n\t\t\tthis.store.delete(key);\n\t\t\treturn;\n\t\t}\n\t\tthis.store.delete(key);\n\t\tthis.store.set(key, entry);\n\t\treturn entry[0];\n\t}\n\t/**\n\t* Sets a value in the cache by key.\n\t*\n\t* @param key The cache key.\n\t* @param value The cached value.\n\t*/\n\tset(key, value$1) {\n\t\tthis.store ?? (this.store = /* @__PURE__ */ new Map());\n\t\tthis.store.delete(key);\n\t\tconst timestamp = this.hasMaxAge ? Date.now() : 0;\n\t\tthis.store.set(key, [value$1, timestamp]);\n\t\tif (this.store.size > this.maxSize) this.store.delete(this.store.keys().next().value);\n\t}\n\t/**\n\t* Clears all entries from the cache.\n\t*/\n\tclear() {\n\t\tthis.store?.clear();\n\t}\n};\n\n//#endregion\n//#region src/methods/cache/cache.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction cache(schema, config$1) {\n\treturn _standardSchema({\n\t\t...schema,\n\t\tcacheConfig: config$1,\n\t\tcache: new _LruCache(config$1),\n\t\t\"~run\"(dataset, runConfig) {\n\t\t\tconst key = this.cache.key(dataset.value, runConfig);\n\t\t\tlet outputDataset = this.cache.get(key);\n\t\t\tif (!outputDataset) this.cache.set(key, outputDataset = schema[\"~run\"](dataset, runConfig));\n\t\t\treturn /* @__PURE__ */ _cloneDataset(outputDataset);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/methods/cache/cacheAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction cacheAsync(schema, config$1) {\n\tlet activeRuns;\n\treturn _standardSchema({\n\t\t...schema,\n\t\tasync: true,\n\t\tcacheConfig: config$1,\n\t\tcache: new _LruCache(config$1),\n\t\tasync \"~run\"(dataset, runConfig) {\n\t\t\tconst key = this.cache.key(dataset.value, runConfig);\n\t\t\tconst cached = this.cache.get(key);\n\t\t\tif (cached) return /* @__PURE__ */ _cloneDataset(cached);\n\t\t\tlet promise$1 = activeRuns?.get(key);\n\t\t\tif (!promise$1) {\n\t\t\t\tactiveRuns ?? (activeRuns = /* @__PURE__ */ new Map());\n\t\t\t\tpromise$1 = Promise.resolve(schema[\"~run\"](dataset, runConfig));\n\t\t\t\tactiveRuns.set(key, promise$1);\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tconst outputDataset = await promise$1;\n\t\t\t\tthis.cache.set(key, outputDataset);\n\t\t\t\treturn /* @__PURE__ */ _cloneDataset(outputDataset);\n\t\t\t} finally {\n\t\t\t\tactiveRuns?.delete(key);\n\t\t\t}\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/methods/config/config.ts\n/**\n* Changes the local configuration of a schema.\n*\n* @param schema The schema to configure.\n* @param config The parse configuration.\n*\n* @returns The configured schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction config(schema, config$1) {\n\treturn _standardSchema({\n\t\t...schema,\n\t\t\"~run\"(dataset, config_) {\n\t\t\treturn schema[\"~run\"](dataset, {\n\t\t\t\t...config_,\n\t\t\t\t...config$1\n\t\t\t});\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/methods/getFallback/getFallback.ts\n/**\n* Returns the fallback value of the schema.\n*\n* @param schema The schema to get it from.\n* @param dataset The output dataset if available.\n* @param config The config if available.\n*\n* @returns The fallback value.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getFallback(schema, dataset, config$1) {\n\treturn typeof schema.fallback === \"function\" ? schema.fallback(dataset, config$1) : schema.fallback;\n}\n\n//#endregion\n//#region src/methods/fallback/fallback.ts\n/**\n* Returns a fallback value as output if the input does not match the schema.\n*\n* @param schema The schema to catch.\n* @param fallback The fallback value.\n*\n* @returns The passed schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction fallback(schema, fallback$1) {\n\treturn _standardSchema({\n\t\t...schema,\n\t\tfallback: fallback$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst outputDataset = schema[\"~run\"](dataset, config$1);\n\t\t\treturn outputDataset.issues ? {\n\t\t\t\ttyped: true,\n\t\t\t\tvalue: /* @__PURE__ */ getFallback(this, outputDataset, config$1)\n\t\t\t} : outputDataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/methods/fallback/fallbackAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction fallbackAsync(schema, fallback$1) {\n\treturn _standardSchema({\n\t\t...schema,\n\t\tfallback: fallback$1,\n\t\tasync: true,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst outputDataset = await schema[\"~run\"](dataset, config$1);\n\t\t\treturn outputDataset.issues ? {\n\t\t\t\ttyped: true,\n\t\t\t\tvalue: await /* @__PURE__ */ getFallback(this, outputDataset, config$1)\n\t\t\t} : outputDataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/methods/flatten/flatten.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction flatten(issues) {\n\tconst flatErrors = {};\n\tfor (const issue of issues) if (issue.path) {\n\t\tconst dotPath = /* @__PURE__ */ getDotPath(issue);\n\t\tif (dotPath) {\n\t\t\tif (!flatErrors.nested) flatErrors.nested = {};\n\t\t\tif (Object.prototype.hasOwnProperty.call(flatErrors.nested, dotPath)) flatErrors.nested[dotPath].push(issue.message);\n\t\t\telse flatErrors.nested[dotPath] = [issue.message];\n\t\t} else if (flatErrors.other) flatErrors.other.push(issue.message);\n\t\telse flatErrors.other = [issue.message];\n\t} else if (flatErrors.root) flatErrors.root.push(issue.message);\n\telse flatErrors.root = [issue.message];\n\treturn flatErrors;\n}\n\n//#endregion\n//#region src/methods/forward/forward.ts\n/**\n* Forwards the issues of the passed validation action.\n*\n* @param action The validation action.\n* @param path The path to forward the issues to.\n*\n* @returns The modified action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction forward(action, path) {\n\treturn {\n\t\t...action,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst prevIssues = dataset.issues && [...dataset.issues];\n\t\t\tdataset = action[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.issues) {\n\t\t\t\tfor (const issue of dataset.issues) if (!prevIssues?.includes(issue)) {\n\t\t\t\t\tlet pathInput = dataset.value;\n\t\t\t\t\tfor (const key of path) {\n\t\t\t\t\t\tconst pathValue = pathInput[key];\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"unknown\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput: pathInput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: pathValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (issue.path) issue.path.push(pathItem);\n\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\tif (!pathValue) break;\n\t\t\t\t\t\tpathInput = pathValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/forward/forwardAsync.ts\n/**\n* Forwards the issues of the passed validation action.\n*\n* @param action The validation action.\n* @param path The path to forward the issues to.\n*\n* @returns The modified action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction forwardAsync(action, path) {\n\treturn {\n\t\t...action,\n\t\tasync: true,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst prevIssues = dataset.issues && [...dataset.issues];\n\t\t\tdataset = await action[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.issues) {\n\t\t\t\tfor (const issue of dataset.issues) if (!prevIssues?.includes(issue)) {\n\t\t\t\t\tlet pathInput = dataset.value;\n\t\t\t\t\tfor (const key of path) {\n\t\t\t\t\t\tconst pathValue = pathInput[key];\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"unknown\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput: pathInput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: pathValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (issue.path) issue.path.push(pathItem);\n\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\tif (!pathValue) break;\n\t\t\t\t\t\tpathInput = pathValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/getDefault/getDefault.ts\n/**\n* Returns the default value of the schema.\n*\n* @param schema The schema to get it from.\n* @param dataset The input dataset if available.\n* @param config The config if available.\n*\n* @returns The default value.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDefault(schema, dataset, config$1) {\n\treturn typeof schema.default === \"function\" ? schema.default(dataset, config$1) : schema.default;\n}\n\n//#endregion\n//#region src/methods/getDefaults/getDefaults.ts\n/**\n* Returns the default values of the schema.\n*\n* Hint: The difference to `getDefault` is that for object and tuple schemas\n* this function recursively returns the default values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The default values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDefaults(schema) {\n\tif (\"entries\" in schema) {\n\t\tconst object$1 = {};\n\t\tfor (const key in schema.entries) object$1[key] = /* @__PURE__ */ getDefaults(schema.entries[key]);\n\t\treturn object$1;\n\t}\n\tif (\"items\" in schema) return schema.items.map(getDefaults);\n\treturn /* @__PURE__ */ getDefault(schema);\n}\n\n//#endregion\n//#region src/methods/getDefaults/getDefaultsAsync.ts\n/**\n* Returns the default values of the schema.\n*\n* Hint: The difference to `getDefault` is that for object and tuple schemas\n* this function recursively returns the default values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The default values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nasync function getDefaultsAsync(schema) {\n\tif (\"entries\" in schema) return Object.fromEntries(await Promise.all(Object.entries(schema.entries).map(async ([key, value$1]) => [key, await /* @__PURE__ */ getDefaultsAsync(value$1)])));\n\tif (\"items\" in schema) return Promise.all(schema.items.map(getDefaultsAsync));\n\treturn /* @__PURE__ */ getDefault(schema);\n}\n\n//#endregion\n//#region src/methods/getDescription/getDescription.ts\n/**\n* Returns the description of the schema.\n*\n* If multiple descriptions are defined, the last one of the highest level is\n* returned. If no description is defined, `undefined` is returned.\n*\n* @param schema The schema to get the description from.\n*\n* @returns The description, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDescription(schema) {\n\treturn /* @__PURE__ */ _getLastMetadata(schema, \"description\");\n}\n\n//#endregion\n//#region src/methods/getExamples/getExamples.ts\n/**\n* Returns the examples of a schema.\n*\n* If multiple examples are defined, it concatenates them using depth-first\n* search. If no examples are defined, an empty array is returned.\n*\n* @param schema The schema to get the examples from.\n*\n* @returns The examples, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getExamples(schema) {\n\tconst examples$1 = [];\n\tfunction depthFirstCollect(schema$1) {\n\t\tif (\"pipe\" in schema$1) {\n\t\t\tfor (const item of schema$1.pipe) if (item.kind === \"schema\" && \"pipe\" in item) depthFirstCollect(item);\n\t\t\telse if (item.kind === \"metadata\" && item.type === \"examples\") for (const example of item.examples) examples$1.push(example);\n\t\t}\n\t}\n\tdepthFirstCollect(schema);\n\treturn examples$1;\n}\n\n//#endregion\n//#region src/methods/getFallbacks/getFallbacks.ts\n/**\n* Returns the fallback values of the schema.\n*\n* Hint: The difference to `getFallback` is that for object and tuple schemas\n* this function recursively returns the fallback values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The fallback values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getFallbacks(schema) {\n\tif (\"entries\" in schema) {\n\t\tconst object$1 = {};\n\t\tfor (const key in schema.entries) object$1[key] = /* @__PURE__ */ getFallbacks(schema.entries[key]);\n\t\treturn object$1;\n\t}\n\tif (\"items\" in schema) return schema.items.map(getFallbacks);\n\treturn /* @__PURE__ */ getFallback(schema);\n}\n\n//#endregion\n//#region src/methods/getFallbacks/getFallbacksAsync.ts\n/**\n* Returns the fallback values of the schema.\n*\n* Hint: The difference to `getFallback` is that for object and tuple schemas\n* this function recursively returns the fallback values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The fallback values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nasync function getFallbacksAsync(schema) {\n\tif (\"entries\" in schema) return Object.fromEntries(await Promise.all(Object.entries(schema.entries).map(async ([key, value$1]) => [key, await /* @__PURE__ */ getFallbacksAsync(value$1)])));\n\tif (\"items\" in schema) return Promise.all(schema.items.map(getFallbacksAsync));\n\treturn /* @__PURE__ */ getFallback(schema);\n}\n\n//#endregion\n//#region src/methods/getMetadata/getMetadata.ts\n/**\n* Returns the metadata of a schema.\n*\n* If multiple metadata are defined, it shallowly merges them using depth-first\n* search. If no metadata is defined, an empty object is returned.\n*\n* @param schema Schema to get the metadata from.\n*\n* @returns The metadata, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getMetadata(schema) {\n\tconst result = {};\n\tfunction depthFirstMerge(schema$1) {\n\t\tif (\"pipe\" in schema$1) {\n\t\t\tfor (const item of schema$1.pipe) if (item.kind === \"schema\" && \"pipe\" in item) depthFirstMerge(item);\n\t\t\telse if (item.kind === \"metadata\" && item.type === \"metadata\") Object.assign(result, item.metadata);\n\t\t}\n\t}\n\tdepthFirstMerge(schema);\n\treturn result;\n}\n\n//#endregion\n//#region src/methods/getTitle/getTitle.ts\n/**\n* Returns the title of the schema.\n*\n* If multiple titles are defined, the last one of the highest level is\n* returned. If no title is defined, `undefined` is returned.\n*\n* @param schema The schema to get the title from.\n*\n* @returns The title, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getTitle(schema) {\n\treturn /* @__PURE__ */ _getLastMetadata(schema, \"title\");\n}\n\n//#endregion\n//#region src/methods/is/is.ts\n/**\n* Checks if the input matches the schema. By using a type predicate, this\n* function can be used as a type guard.\n*\n* @param schema The schema to be used.\n* @param input The input to be tested.\n*\n* @returns Whether the input matches the schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction is(schema, input) {\n\treturn !schema[\"~run\"]({ value: input }, ABORT_EARLY_CONFIG).issues;\n}\n\n//#endregion\n//#region src/schemas/any/any.ts\n/**\n* Creates an any schema.\n*\n* Hint: This schema function exists only for completeness and is not\n* recommended in practice. Instead, `unknown` should be used to accept\n* unknown data.\n*\n* @returns An any schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction any() {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"any\",\n\t\treference: any,\n\t\texpects: \"any\",\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.typed = true;\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/array/array.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction array(item, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"array\",\n\t\treference: array,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titem,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < input.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.item[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/array/arrayAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction arrayAsync(item, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"array\",\n\t\treference: arrayAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titem,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(input.map((value$1) => this.item[\"~run\"]({ value: value$1 }, config$1)));\n\t\t\t\tfor (let key = 0; key < itemDatasets.length; key++) {\n\t\t\t\t\tconst itemDataset = itemDatasets[key];\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/bigint/bigint.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction bigint(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"bigint\",\n\t\treference: bigint,\n\t\texpects: \"bigint\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"bigint\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/blob/blob.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction blob(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"blob\",\n\t\treference: blob,\n\t\texpects: \"Blob\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof Blob) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/boolean/boolean.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction boolean(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"boolean\",\n\t\treference: boolean,\n\t\texpects: \"boolean\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"boolean\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/custom/custom.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction custom(check$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"custom\",\n\t\treference: custom,\n\t\texpects: \"unknown\",\n\t\tasync: false,\n\t\tcheck: check$1,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.check(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/custom/customAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction customAsync(check$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"custom\",\n\t\treference: customAsync,\n\t\texpects: \"unknown\",\n\t\tasync: true,\n\t\tcheck: check$1,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (await this.check(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/date/date.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction date(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"date\",\n\t\treference: date,\n\t\texpects: \"Date\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof Date) if (!isNaN(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1, { received: \"\\\"Invalid Date\\\"\" });\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/enum/enum.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction enum_(enum__, message$1) {\n\tconst options = [];\n\tfor (const key in enum__) if (`${+key}` !== key || typeof enum__[key] !== \"string\" || !Object.is(enum__[enum__[key]], +key)) options.push(enum__[key]);\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"enum\",\n\t\treference: enum_,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map(_stringify), \"|\"),\n\t\tasync: false,\n\t\tenum: enum__,\n\t\toptions,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.options.includes(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/exactOptional/exactOptional.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction exactOptional(wrapped, default_) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"exact_optional\",\n\t\treference: exactOptional,\n\t\texpects: wrapped.expects,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/exactOptional/exactOptionalAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction exactOptionalAsync(wrapped, default_) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"exact_optional\",\n\t\treference: exactOptionalAsync,\n\t\texpects: wrapped.expects,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/file/file.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction file(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"file\",\n\t\treference: file,\n\t\texpects: \"File\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof File) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/function/function.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction function_(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"function\",\n\t\treference: function_,\n\t\texpects: \"Function\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"function\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/instance/instance.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction instance(class_, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"instance\",\n\t\treference: instance,\n\t\texpects: class_.name,\n\t\tasync: false,\n\t\tclass: class_,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof this.class) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/intersect/utils/_merge/_merge.ts\n/**\n* Merges two values into one single output.\n*\n* @param value1 First value.\n* @param value2 Second value.\n*\n* @returns The merge dataset.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _merge(value1, value2) {\n\tif (typeof value1 === typeof value2) {\n\t\tif (/* @__PURE__ */ _isSameValueZero(value1, value2) || value1 instanceof Date && value2 instanceof Date && /* @__PURE__ */ _isSameValueZero(+value1, +value2)) return { value: value1 };\n\t\tif (value1 && value2 && value1.constructor === Object && value2.constructor === Object) {\n\t\t\tconst nextValue = {\n\t\t\t\t...value1,\n\t\t\t\t...value2\n\t\t\t};\n\t\t\tfor (const key in value2) if (Object.prototype.hasOwnProperty.call(value1, key) && Object.prototype.hasOwnProperty.call(value2, key)) {\n\t\t\t\tconst dataset = /* @__PURE__ */ _merge(value1[key], value2[key]);\n\t\t\t\tif (dataset.issue) return dataset;\n\t\t\t\tnextValue[key] = dataset.value;\n\t\t\t}\n\t\t\treturn { value: nextValue };\n\t\t}\n\t\tif (Array.isArray(value1) && Array.isArray(value2)) {\n\t\t\tif (value1.length === value2.length) {\n\t\t\t\tconst nextValue = [...value1];\n\t\t\t\tfor (let index = 0; index < value1.length; index++) {\n\t\t\t\t\tconst dataset = /* @__PURE__ */ _merge(value1[index], value2[index]);\n\t\t\t\t\tif (dataset.issue) return dataset;\n\t\t\t\t\tnextValue[index] = dataset.value;\n\t\t\t\t}\n\t\t\t\treturn { value: nextValue };\n\t\t\t}\n\t\t}\n\t}\n\treturn { issue: true };\n}\n\n//#endregion\n//#region src/schemas/intersect/intersect.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction intersect(options, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"intersect\",\n\t\treference: intersect,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"&\"),\n\t\tasync: false,\n\t\toptions,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.options.length) {\n\t\t\t\tconst input = dataset.value;\n\t\t\t\tlet outputs;\n\t\t\t\tdataset.typed = true;\n\t\t\t\tfor (const schema of this.options) {\n\t\t\t\t\tconst optionDataset = schema[\"~run\"]({ value: input }, config$1);\n\t\t\t\t\tif (optionDataset.issues) {\n\t\t\t\t\t\tif (dataset.issues) for (const issue of optionDataset.issues) dataset.issues.push(issue);\n\t\t\t\t\t\telse dataset.issues = optionDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!optionDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (dataset.typed) if (outputs) outputs.push(optionDataset.value);\n\t\t\t\t\telse outputs = [optionDataset.value];\n\t\t\t\t}\n\t\t\t\tif (dataset.typed) {\n\t\t\t\t\tdataset.value = outputs[0];\n\t\t\t\t\tfor (let index = 1; index < outputs.length; index++) {\n\t\t\t\t\t\tconst mergeDataset = /* @__PURE__ */ _merge(dataset.value, outputs[index]);\n\t\t\t\t\t\tif (mergeDataset.issue) {\n\t\t\t\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { received: \"unknown\" });\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdataset.value = mergeDataset.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/intersect/intersectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction intersectAsync(options, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"intersect\",\n\t\treference: intersectAsync,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"&\"),\n\t\tasync: true,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (this.options.length) {\n\t\t\t\tconst input = dataset.value;\n\t\t\t\tlet outputs;\n\t\t\t\tdataset.typed = true;\n\t\t\t\tconst optionDatasets = await Promise.all(this.options.map((schema) => schema[\"~run\"]({ value: input }, config$1)));\n\t\t\t\tfor (const optionDataset of optionDatasets) {\n\t\t\t\t\tif (optionDataset.issues) {\n\t\t\t\t\t\tif (dataset.issues) for (const issue of optionDataset.issues) dataset.issues.push(issue);\n\t\t\t\t\t\telse dataset.issues = optionDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!optionDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (dataset.typed) if (outputs) outputs.push(optionDataset.value);\n\t\t\t\t\telse outputs = [optionDataset.value];\n\t\t\t\t}\n\t\t\t\tif (dataset.typed) {\n\t\t\t\t\tdataset.value = outputs[0];\n\t\t\t\t\tfor (let index = 1; index < outputs.length; index++) {\n\t\t\t\t\t\tconst mergeDataset = /* @__PURE__ */ _merge(dataset.value, outputs[index]);\n\t\t\t\t\t\tif (mergeDataset.issue) {\n\t\t\t\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { received: \"unknown\" });\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdataset.value = mergeDataset.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/lazy/lazy.ts\n/**\n* Creates a lazy schema.\n*\n* @param getter The schema getter.\n*\n* @returns A lazy schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction lazy(getter) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"lazy\",\n\t\treference: lazy,\n\t\texpects: \"unknown\",\n\t\tasync: false,\n\t\tgetter,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\treturn this.getter(dataset.value)[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/lazy/lazyAsync.ts\n/**\n* Creates a lazy schema.\n*\n* @param getter The schema getter.\n*\n* @returns A lazy schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction lazyAsync(getter) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"lazy\",\n\t\treference: lazyAsync,\n\t\texpects: \"unknown\",\n\t\tasync: true,\n\t\tgetter,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\treturn (await this.getter(dataset.value))[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/literal/literal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction literal(literal_, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"literal\",\n\t\treference: literal,\n\t\texpects: /* @__PURE__ */ _stringify(literal_),\n\t\tasync: false,\n\t\tliteral: literal_,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (/* @__PURE__ */ _isSameValueZero(dataset.value, this.literal)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/looseObject/looseObject.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseObject(entries$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"loose_object\",\n\t\treference: looseObject,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (/* @__PURE__ */ _isValidObjectKey(input, key) && !Object.prototype.hasOwnProperty.call(this.entries, key)) dataset.value[key] = input[key];\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/looseObject/looseObjectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseObjectAsync(entries$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"loose_object\",\n\t\treference: looseObjectAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst valueDatasets = await Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of valueDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (/* @__PURE__ */ _isValidObjectKey(input, key) && !Object.prototype.hasOwnProperty.call(this.entries, key)) dataset.value[key] = input[key];\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/looseTuple/looseTuple.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseTuple(items, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"loose_tuple\",\n\t\treference: looseTuple,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (let key = this.items.length; key < input.length; key++) dataset.value.push(input[key]);\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/looseTuple/looseTupleAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseTupleAsync(items, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"loose_tuple\",\n\t\treference: looseTupleAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, itemDataset] of itemDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (let key = this.items.length; key < input.length; key++) dataset.value.push(input[key]);\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/map/map.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction map(key, value$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"map\",\n\t\treference: map,\n\t\texpects: \"Map\",\n\t\tasync: false,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Map) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Map();\n\t\t\t\tfor (const [inputKey, inputValue] of input) {\n\t\t\t\t\tconst keyDataset = this.key[\"~run\"]({ value: inputKey }, config$1);\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst valueDataset = this.value[\"~run\"]({ value: inputValue }, config$1);\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.set(keyDataset.value, valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/map/mapAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mapAsync(key, value$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"map\",\n\t\treference: mapAsync,\n\t\texpects: \"Map\",\n\t\tasync: true,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Map) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Map();\n\t\t\t\tconst datasets = await Promise.all([...input].map(([inputKey, inputValue]) => Promise.all([\n\t\t\t\t\tinputKey,\n\t\t\t\t\tinputValue,\n\t\t\t\t\tthis.key[\"~run\"]({ value: inputKey }, config$1),\n\t\t\t\t\tthis.value[\"~run\"]({ value: inputValue }, config$1)\n\t\t\t\t])));\n\t\t\t\tfor (const [inputKey, inputValue, keyDataset, valueDataset] of datasets) {\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.set(keyDataset.value, valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/nan/nan.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nan(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"nan\",\n\t\treference: nan,\n\t\texpects: \"NaN\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (Number.isNaN(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/never/never.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction never(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"never\",\n\t\treference: never,\n\t\texpects: \"never\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\t_addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/nonNullable/nonNullable.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullable(wrapped, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullable\",\n\t\treference: nonNullable,\n\t\texpects: \"!null\",\n\t\tasync: false,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== null) dataset = this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/nonNullable/nonNullableAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullableAsync(wrapped, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullable\",\n\t\treference: nonNullableAsync,\n\t\texpects: \"!null\",\n\t\tasync: true,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== null) dataset = await this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/nonNullish/nonNullish.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullish(wrapped, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullish\",\n\t\treference: nonNullish,\n\t\texpects: \"(!null & !undefined)\",\n\t\tasync: false,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!(dataset.value === null || dataset.value === void 0)) dataset = this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null || dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/nonNullish/nonNullishAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullishAsync(wrapped, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullish\",\n\t\treference: nonNullishAsync,\n\t\texpects: \"(!null & !undefined)\",\n\t\tasync: true,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (!(dataset.value === null || dataset.value === void 0)) dataset = await this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null || dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/nonOptional/nonOptional.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonOptional(wrapped, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"non_optional\",\n\t\treference: nonOptional,\n\t\texpects: \"!undefined\",\n\t\tasync: false,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== void 0) dataset = this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/nonOptional/nonOptionalAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonOptionalAsync(wrapped, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"non_optional\",\n\t\treference: nonOptionalAsync,\n\t\texpects: \"!undefined\",\n\t\tasync: true,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== void 0) dataset = await this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/null/null.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction null_(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"null\",\n\t\treference: null_,\n\t\texpects: \"null\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/nullable/nullable.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullable(wrapped, default_) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"nullable\",\n\t\treference: nullable,\n\t\texpects: `(${wrapped.expects} | null)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/nullable/nullableAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullableAsync(wrapped, default_) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"nullable\",\n\t\treference: nullableAsync,\n\t\texpects: `(${wrapped.expects} | null)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/nullish/nullish.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullish(wrapped, default_) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"nullish\",\n\t\treference: nullish,\n\t\texpects: `(${wrapped.expects} | null | undefined)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/nullish/nullishAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullishAsync(wrapped, default_) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"nullish\",\n\t\treference: nullishAsync,\n\t\texpects: `(${wrapped.expects} | null | undefined)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/number/number.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction number(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"number\",\n\t\treference: number,\n\t\texpects: \"number\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"number\" && !isNaN(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/object/object.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction object(entries$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"object\",\n\t\treference: object,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/object/objectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction objectAsync(entries$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"object\",\n\t\treference: objectAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst valueDatasets = await Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of valueDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/objectWithRest/objectWithRest.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction objectWithRest(entries$1, rest, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"object_with_rest\",\n\t\treference: objectWithRest,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\trest,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (/* @__PURE__ */ _isValidObjectKey(input, key) && !Object.prototype.hasOwnProperty.call(this.entries, key)) {\n\t\t\t\t\t\tconst valueDataset = this.rest[\"~run\"]({ value: input[key] }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/objectWithRest/objectWithRestAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction objectWithRestAsync(entries$1, rest, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"object_with_rest\",\n\t\treference: objectWithRestAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\trest,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst [normalDatasets, restDatasets] = await Promise.all([Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t})), Promise.all(Object.entries(input).filter(([key]) => /* @__PURE__ */ _isValidObjectKey(input, key) && !Object.prototype.hasOwnProperty.call(this.entries, key)).map(async ([key, value$1]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue$1,\n\t\t\t\t\tawait this.rest[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t]))]);\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of normalDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (const [key, value$1, valueDataset] of restDatasets) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/optional/optional.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction optional(wrapped, default_) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"optional\",\n\t\treference: optional,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/optional/optionalAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction optionalAsync(wrapped, default_) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"optional\",\n\t\treference: optionalAsync,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/picklist/picklist.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction picklist(options, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"picklist\",\n\t\treference: picklist,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map(_stringify), \"|\"),\n\t\tasync: false,\n\t\toptions,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.options.includes(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/promise/promise.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction promise(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"promise\",\n\t\treference: promise,\n\t\texpects: \"Promise\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof Promise) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/record/record.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction record(key, value$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"record\",\n\t\treference: record,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const entryKey in input) if (/* @__PURE__ */ _isValidObjectKey(input, entryKey)) {\n\t\t\t\t\tconst entryValue = input[entryKey];\n\t\t\t\t\tconst keyDataset = this.key[\"~run\"]({ value: entryKey }, config$1);\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tissue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst valueDataset = this.value[\"~run\"]({ value: entryValue }, config$1);\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (keyDataset.typed) dataset.value[keyDataset.value] = valueDataset.value;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/record/recordAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction recordAsync(key, value$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"record\",\n\t\treference: recordAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst datasets = await Promise.all(Object.entries(input).filter(([key$1]) => /* @__PURE__ */ _isValidObjectKey(input, key$1)).map(([entryKey, entryValue]) => Promise.all([\n\t\t\t\t\tentryKey,\n\t\t\t\t\tentryValue,\n\t\t\t\t\tthis.key[\"~run\"]({ value: entryKey }, config$1),\n\t\t\t\t\tthis.value[\"~run\"]({ value: entryValue }, config$1)\n\t\t\t\t])));\n\t\t\t\tfor (const [entryKey, entryValue, keyDataset, valueDataset] of datasets) {\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tissue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (keyDataset.typed) dataset.value[keyDataset.value] = valueDataset.value;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/set/set.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction set(value$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"set\",\n\t\treference: set,\n\t\texpects: \"Set\",\n\t\tasync: false,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Set) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Set();\n\t\t\t\tfor (const inputValue of input) {\n\t\t\t\t\tconst valueDataset = this.value[\"~run\"]({ value: inputValue }, config$1);\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"set\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: null,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.add(valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/set/setAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction setAsync(value$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"set\",\n\t\treference: setAsync,\n\t\texpects: \"Set\",\n\t\tasync: true,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Set) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Set();\n\t\t\t\tconst valueDatasets = await Promise.all([...input].map(async (inputValue) => [inputValue, await this.value[\"~run\"]({ value: inputValue }, config$1)]));\n\t\t\t\tfor (const [inputValue, valueDataset] of valueDatasets) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"set\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: null,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.add(valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/strictObject/strictObject.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictObject(entries$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"strict_object\",\n\t\treference: strictObject,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (!Object.prototype.hasOwnProperty.call(this.entries, key)) {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: key,\n\t\t\t\t\t\t\texpected: \"never\",\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/strictObject/strictObjectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictObjectAsync(entries$1, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"strict_object\",\n\t\treference: strictObjectAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst valueDatasets = await Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of valueDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (!Object.prototype.hasOwnProperty.call(this.entries, key)) {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: key,\n\t\t\t\t\t\t\texpected: \"never\",\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/strictTuple/strictTuple.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictTuple(items, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"strict_tuple\",\n\t\treference: strictTuple,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!(dataset.issues && config$1.abortEarly) && this.items.length < input.length) _addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[this.items.length],\n\t\t\t\t\texpected: \"never\",\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: this.items.length,\n\t\t\t\t\t\tvalue: input[this.items.length]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/strictTuple/strictTupleAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictTupleAsync(items, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"strict_tuple\",\n\t\treference: strictTupleAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, itemDataset] of itemDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!(dataset.issues && config$1.abortEarly) && this.items.length < input.length) _addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[this.items.length],\n\t\t\t\t\texpected: \"never\",\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: this.items.length,\n\t\t\t\t\t\tvalue: input[this.items.length]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/string/string.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction string(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"string\",\n\t\treference: string,\n\t\texpects: \"string\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"string\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/symbol/symbol.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction symbol(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"symbol\",\n\t\treference: symbol,\n\t\texpects: \"symbol\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"symbol\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/tuple/tuple.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tuple(items, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"tuple\",\n\t\treference: tuple,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/tuple/tupleAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tupleAsync(items, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"tuple\",\n\t\treference: tupleAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, itemDataset] of itemDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/tupleWithRest/tupleWithRest.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tupleWithRest(items, rest, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"tuple_with_rest\",\n\t\treference: tupleWithRest,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\trest,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (let key = this.items.length; key < input.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.rest[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/tupleWithRest/tupleWithRestAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tupleWithRestAsync(items, rest, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"tuple_with_rest\",\n\t\treference: tupleWithRestAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\trest,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst [normalDatasets, restDatasets] = await Promise.all([Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t})), Promise.all(input.slice(this.items.length).map(async (value$1, key) => {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey + this.items.length,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait this.rest[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}))]);\n\t\t\t\tfor (const [key, value$1, itemDataset] of normalDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (const [key, value$1, itemDataset] of restDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/undefined/undefined.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction undefined_(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"undefined\",\n\t\treference: undefined_,\n\t\texpects: \"undefined\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/undefinedable/undefinedable.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction undefinedable(wrapped, default_) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"undefinedable\",\n\t\treference: undefinedable,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/undefinedable/undefinedableAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction undefinedableAsync(wrapped, default_) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"undefinedable\",\n\t\treference: undefinedableAsync,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/union/utils/_subIssues/_subIssues.ts\n/**\n* Returns the sub issues of the provided datasets for the union issue.\n*\n* @param datasets The datasets.\n*\n* @returns The sub issues.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _subIssues(datasets) {\n\tlet issues;\n\tif (datasets) for (const dataset of datasets) if (issues) for (const issue of dataset.issues) issues.push(issue);\n\telse issues = dataset.issues;\n\treturn issues;\n}\n\n//#endregion\n//#region src/schemas/union/union.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction union(options, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"union\",\n\t\treference: union,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"|\"),\n\t\tasync: false,\n\t\toptions,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tlet validDataset;\n\t\t\tlet typedDatasets;\n\t\t\tlet untypedDatasets;\n\t\t\tfor (const schema of this.options) {\n\t\t\t\tconst optionDataset = schema[\"~run\"]({ value: dataset.value }, config$1);\n\t\t\t\tif (optionDataset.typed) if (optionDataset.issues) if (typedDatasets) typedDatasets.push(optionDataset);\n\t\t\t\telse typedDatasets = [optionDataset];\n\t\t\t\telse {\n\t\t\t\t\tvalidDataset = optionDataset;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse if (untypedDatasets) untypedDatasets.push(optionDataset);\n\t\t\t\telse untypedDatasets = [optionDataset];\n\t\t\t}\n\t\t\tif (validDataset) return validDataset;\n\t\t\tif (typedDatasets) {\n\t\t\t\tif (typedDatasets.length === 1) return typedDatasets[0];\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(typedDatasets) });\n\t\t\t\tdataset.typed = true;\n\t\t\t} else if (untypedDatasets?.length === 1) return untypedDatasets[0];\n\t\t\telse _addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(untypedDatasets) });\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/union/unionAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction unionAsync(options, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"union\",\n\t\treference: unionAsync,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"|\"),\n\t\tasync: true,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tlet validDataset;\n\t\t\tlet typedDatasets;\n\t\t\tlet untypedDatasets;\n\t\t\tfor (const schema of this.options) {\n\t\t\t\tconst optionDataset = await schema[\"~run\"]({ value: dataset.value }, config$1);\n\t\t\t\tif (optionDataset.typed) if (optionDataset.issues) if (typedDatasets) typedDatasets.push(optionDataset);\n\t\t\t\telse typedDatasets = [optionDataset];\n\t\t\t\telse {\n\t\t\t\t\tvalidDataset = optionDataset;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse if (untypedDatasets) untypedDatasets.push(optionDataset);\n\t\t\t\telse untypedDatasets = [optionDataset];\n\t\t\t}\n\t\t\tif (validDataset) return validDataset;\n\t\t\tif (typedDatasets) {\n\t\t\t\tif (typedDatasets.length === 1) return typedDatasets[0];\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(typedDatasets) });\n\t\t\t\tdataset.typed = true;\n\t\t\t} else if (untypedDatasets?.length === 1) return untypedDatasets[0];\n\t\t\telse _addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(untypedDatasets) });\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/unknown/unknown.ts\n/**\n* Creates a unknown schema.\n*\n* @returns A unknown schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction unknown() {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"unknown\",\n\t\treference: unknown,\n\t\texpects: \"unknown\",\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.typed = true;\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/variant/variant.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction variant(key, options, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"variant\",\n\t\treference: variant,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tkey,\n\t\toptions,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tlet outputDataset;\n\t\t\t\tlet maxDiscriminatorPriority = 0;\n\t\t\t\tlet invalidDiscriminatorKey = this.key;\n\t\t\t\tlet expectedDiscriminators = [];\n\t\t\t\tconst parseOptions = (variant$1, allKeys) => {\n\t\t\t\t\tfor (const schema of variant$1.options) {\n\t\t\t\t\t\tif (schema.type === \"variant\") parseOptions(schema, new Set(allKeys).add(schema.key));\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet keysAreValid = true;\n\t\t\t\t\t\t\tlet currentPriority = 0;\n\t\t\t\t\t\t\tfor (const currentKey of allKeys) {\n\t\t\t\t\t\t\t\tconst discriminatorSchema = schema.entries[currentKey];\n\t\t\t\t\t\t\t\tif (currentKey in input ? discriminatorSchema[\"~run\"]({\n\t\t\t\t\t\t\t\t\ttyped: false,\n\t\t\t\t\t\t\t\t\tvalue: input[currentKey]\n\t\t\t\t\t\t\t\t}, ABORT_EARLY_CONFIG).issues : discriminatorSchema.type !== \"exact_optional\" && discriminatorSchema.type !== \"optional\" && discriminatorSchema.type !== \"nullish\") {\n\t\t\t\t\t\t\t\t\tkeysAreValid = false;\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n\t\t\t\t\t\t\t\t\t\tmaxDiscriminatorPriority = currentPriority;\n\t\t\t\t\t\t\t\t\t\tinvalidDiscriminatorKey = currentKey;\n\t\t\t\t\t\t\t\t\t\texpectedDiscriminators = [];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey === currentKey) expectedDiscriminators.push(schema.entries[currentKey].expects);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcurrentPriority++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (keysAreValid) {\n\t\t\t\t\t\t\t\tconst optionDataset = schema[\"~run\"]({ value: input }, config$1);\n\t\t\t\t\t\t\t\tif (!outputDataset || !outputDataset.typed && optionDataset.typed) outputDataset = optionDataset;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (outputDataset && !outputDataset.issues) break;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tparseOptions(this, new Set([this.key]));\n\t\t\t\tif (outputDataset) return outputDataset;\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[invalidDiscriminatorKey],\n\t\t\t\t\texpected: /* @__PURE__ */ _joinExpects(expectedDiscriminators, \"|\"),\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: invalidDiscriminatorKey,\n\t\t\t\t\t\tvalue: input[invalidDiscriminatorKey]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/variant/variantAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction variantAsync(key, options, message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"variant\",\n\t\treference: variantAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tkey,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tlet outputDataset;\n\t\t\t\tlet maxDiscriminatorPriority = 0;\n\t\t\t\tlet invalidDiscriminatorKey = this.key;\n\t\t\t\tlet expectedDiscriminators = [];\n\t\t\t\tconst parseOptions = async (variant$1, allKeys) => {\n\t\t\t\t\tfor (const schema of variant$1.options) {\n\t\t\t\t\t\tif (schema.type === \"variant\") await parseOptions(schema, new Set(allKeys).add(schema.key));\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet keysAreValid = true;\n\t\t\t\t\t\t\tlet currentPriority = 0;\n\t\t\t\t\t\t\tfor (const currentKey of allKeys) {\n\t\t\t\t\t\t\t\tconst discriminatorSchema = schema.entries[currentKey];\n\t\t\t\t\t\t\t\tif (currentKey in input ? (await discriminatorSchema[\"~run\"]({\n\t\t\t\t\t\t\t\t\ttyped: false,\n\t\t\t\t\t\t\t\t\tvalue: input[currentKey]\n\t\t\t\t\t\t\t\t}, ABORT_EARLY_CONFIG)).issues : discriminatorSchema.type !== \"exact_optional\" && discriminatorSchema.type !== \"optional\" && discriminatorSchema.type !== \"nullish\") {\n\t\t\t\t\t\t\t\t\tkeysAreValid = false;\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n\t\t\t\t\t\t\t\t\t\tmaxDiscriminatorPriority = currentPriority;\n\t\t\t\t\t\t\t\t\t\tinvalidDiscriminatorKey = currentKey;\n\t\t\t\t\t\t\t\t\t\texpectedDiscriminators = [];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey === currentKey) expectedDiscriminators.push(schema.entries[currentKey].expects);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcurrentPriority++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (keysAreValid) {\n\t\t\t\t\t\t\t\tconst optionDataset = await schema[\"~run\"]({ value: input }, config$1);\n\t\t\t\t\t\t\t\tif (!outputDataset || !outputDataset.typed && optionDataset.typed) outputDataset = optionDataset;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (outputDataset && !outputDataset.issues) break;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tawait parseOptions(this, new Set([this.key]));\n\t\t\t\tif (outputDataset) return outputDataset;\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[invalidDiscriminatorKey],\n\t\t\t\t\texpected: /* @__PURE__ */ _joinExpects(expectedDiscriminators, \"|\"),\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: invalidDiscriminatorKey,\n\t\t\t\t\t\tvalue: input[invalidDiscriminatorKey]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/schemas/void/void.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction void_(message$1) {\n\treturn _standardSchema({\n\t\tkind: \"schema\",\n\t\ttype: \"void\",\n\t\treference: void_,\n\t\texpects: \"void\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/methods/keyof/keyof.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction keyof(schema, message$1) {\n\treturn /* @__PURE__ */ picklist(Object.keys(schema.entries), message$1);\n}\n\n//#endregion\n//#region src/methods/message/message.ts\n/**\n* Changes the local message configuration of a schema.\n*\n* @param schema The schema to configure.\n* @param message_ The error message.\n*\n* @returns The configured schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction message(schema, message_) {\n\treturn _standardSchema({\n\t\t...schema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\treturn schema[\"~run\"](dataset, {\n\t\t\t\t...config$1,\n\t\t\t\tmessage: message_\n\t\t\t});\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/methods/omit/omit.ts\n/**\n* Creates a modified copy of an object schema that does not contain the\n* selected entries.\n*\n* @param schema The schema to omit from.\n* @param keys The selected entries.\n*\n* @returns An object schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction omit(schema, keys) {\n\tconst entries$1 = { ...schema.entries };\n\tfor (const key of keys) delete entries$1[key];\n\treturn _standardSchema({\n\t\t...schema,\n\t\tentries: entries$1\n\t});\n}\n\n//#endregion\n//#region src/methods/parse/parse.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parsed input.\n*/\nfunction parse(schema, input, config$1) {\n\tconst dataset = schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\tif (dataset.issues) throw new ValiError(dataset.issues);\n\treturn dataset.value;\n}\n\n//#endregion\n//#region src/methods/parse/parseAsync.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parsed input.\n*/\nasync function parseAsync(schema, input, config$1) {\n\tconst dataset = await schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\tif (dataset.issues) throw new ValiError(dataset.issues);\n\treturn dataset.value;\n}\n\n//#endregion\n//#region src/methods/parser/parser.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction parser(schema, config$1) {\n\tconst func = (input) => parse(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/parser/parserAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction parserAsync(schema, config$1) {\n\tconst func = (input) => parseAsync(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/partial/partial.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partial(schema, keys) {\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ optional(schema.entries[key]) : schema.entries[key];\n\treturn _standardSchema({\n\t\t...schema,\n\t\tentries: entries$1\n\t});\n}\n\n//#endregion\n//#region src/methods/partial/partialAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partialAsync(schema, keys) {\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ optionalAsync(schema.entries[key]) : schema.entries[key];\n\treturn _standardSchema({\n\t\t...schema,\n\t\tentries: entries$1\n\t});\n}\n\n//#endregion\n//#region src/methods/pick/pick.ts\n/**\n* Creates a modified copy of an object schema that contains only the selected\n* entries.\n*\n* @param schema The schema to pick from.\n* @param keys The selected entries.\n*\n* @returns An object schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction pick(schema, keys) {\n\tconst entries$1 = {};\n\tfor (const key of keys) entries$1[key] = schema.entries[key];\n\treturn _standardSchema({\n\t\t...schema,\n\t\tentries: entries$1\n\t});\n}\n\n//#endregion\n//#region src/methods/pipe/pipe.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction pipe(...pipe$1) {\n\treturn _standardSchema({\n\t\t...pipe$1[0],\n\t\tpipe: pipe$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tfor (const item of pipe$1) if (item.kind !== \"metadata\") {\n\t\t\t\tif (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly && !config$1.abortPipeEarly) dataset = item[\"~run\"](dataset, config$1);\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/methods/pipe/pipeAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction pipeAsync(...pipe$1) {\n\treturn _standardSchema({\n\t\t...pipe$1[0],\n\t\tpipe: pipe$1,\n\t\tasync: true,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tfor (const item of pipe$1) if (item.kind !== \"metadata\") {\n\t\t\t\tif (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly && !config$1.abortPipeEarly) dataset = await item[\"~run\"](dataset, config$1);\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/methods/required/required.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction required(schema, arg2, arg3) {\n\tconst keys = Array.isArray(arg2) ? arg2 : void 0;\n\tconst message$1 = Array.isArray(arg2) ? arg3 : arg2;\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ nonOptional(schema.entries[key], message$1) : schema.entries[key];\n\treturn _standardSchema({\n\t\t...schema,\n\t\tentries: entries$1\n\t});\n}\n\n//#endregion\n//#region src/methods/required/requiredAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction requiredAsync(schema, arg2, arg3) {\n\tconst keys = Array.isArray(arg2) ? arg2 : void 0;\n\tconst message$1 = Array.isArray(arg2) ? arg3 : arg2;\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ nonOptionalAsync(schema.entries[key], message$1) : schema.entries[key];\n\treturn _standardSchema({\n\t\t...schema,\n\t\tentries: entries$1\n\t});\n}\n\n//#endregion\n//#region src/methods/safeParse/safeParse.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parse result.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeParse(schema, input, config$1) {\n\tconst dataset = schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\treturn {\n\t\ttyped: dataset.typed,\n\t\tsuccess: !dataset.issues,\n\t\toutput: dataset.value,\n\t\tissues: dataset.issues\n\t};\n}\n\n//#endregion\n//#region src/methods/safeParse/safeParseAsync.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parse result.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nasync function safeParseAsync(schema, input, config$1) {\n\tconst dataset = await schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\treturn {\n\t\ttyped: dataset.typed,\n\t\tsuccess: !dataset.issues,\n\t\toutput: dataset.value,\n\t\tissues: dataset.issues\n\t};\n}\n\n//#endregion\n//#region src/methods/safeParser/safeParser.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeParser(schema, config$1) {\n\tconst func = (input) => /* @__PURE__ */ safeParse(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/safeParser/safeParserAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeParserAsync(schema, config$1) {\n\tconst func = (input) => /* @__PURE__ */ safeParseAsync(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/summarize/summarize.ts\n/**\n* Summarize the error messages of issues in a pretty-printable multi-line string.\n*\n* @param issues The list of issues.\n*\n* @returns A summary of the issues.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction summarize(issues) {\n\tlet summary = \"\";\n\tfor (const issue of issues) {\n\t\tif (summary) summary += \"\\n\";\n\t\tsummary += `× ${issue.message}`;\n\t\tconst dotPath = /* @__PURE__ */ getDotPath(issue);\n\t\tif (dotPath) summary += `\\n → at ${dotPath}`;\n\t}\n\treturn summary;\n}\n\n//#endregion\n//#region src/methods/unwrap/unwrap.ts\n/**\n* Unwraps the wrapped schema.\n*\n* @param schema The schema to be unwrapped.\n*\n* @returns The unwrapped schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction unwrap(schema) {\n\treturn schema.wrapped;\n}\n\n//#endregion\nexport { BASE64_REGEX, BIC_REGEX, CUID2_REGEX, DECIMAL_REGEX, DIGITS_REGEX, DOMAIN_REGEX, EMAIL_REGEX, EMOJI_REGEX, HEXADECIMAL_REGEX, HEX_COLOR_REGEX, IMEI_REGEX, IPV4_REGEX, IPV6_REGEX, IP_REGEX, ISO_DATE_REGEX, ISO_DATE_TIME_REGEX, ISO_DATE_TIME_SECOND_REGEX, ISO_TIMESTAMP_REGEX, ISO_TIME_REGEX, ISO_TIME_SECOND_REGEX, ISO_WEEK_REGEX, ISRC_REGEX, JWS_COMPACT_REGEX, KSUID_REGEX, MAC48_REGEX, MAC64_REGEX, MAC_REGEX, NANO_ID_REGEX, OCTAL_REGEX, RFC_EMAIL_REGEX, SLUG_REGEX, ULID_REGEX, UUID_REGEX, ValiError, _addIssue, _cloneDataset, _formatCase, _getByteCount, _getCodePointCount, _getGraphemeCount, _getLastMetadata, _getWordCount, _isLuhnAlgo, _isSameValueZero, _isValidObjectKey, _isValueMatch, _joinExpects, _standardSchema, _stringify, any, args, argsAsync, array, arrayAsync, assert, awaitAsync, base64, bic, bigint, blob, boolean, brand, bytes, cache, cacheAsync, check, checkAsync, checkItems, checkItemsAsync, codePoints, config, creditCard, cuid2, custom, customAsync, date, decimal, deleteGlobalConfig, deleteGlobalMessage, deleteSchemaMessage, deleteSpecificMessage, description, digits, domain, email, emoji, empty, endsWith, entries, entriesFromList, entriesFromObjects, enum_ as enum, enum_, everyItem, exactOptional, exactOptionalAsync, examples, excludes, fallback, fallbackAsync, file, filterItems, findItem, finite, flatten, flavor, forward, forwardAsync, function_ as function, function_, getDefault, getDefaults, getDefaultsAsync, getDescription, getDotPath, getExamples, getFallback, getFallbacks, getFallbacksAsync, getGlobalConfig, getGlobalMessage, getMetadata, getSchemaMessage, getSpecificMessage, getTitle, graphemes, gtValue, guard, hash, hexColor, hexadecimal, imei, includes, instance, integer, intersect, intersectAsync, ip, ipv4, ipv6, is, isOfKind, isOfType, isValiError, isbn, isoDate, isoDateTime, isoDateTimeSecond, isoTime, isoTimeSecond, isoTimestamp, isoWeek, isrc, jwsCompact, keyof, ksuid, lazy, lazyAsync, length, literal, looseObject, looseObjectAsync, looseTuple, looseTupleAsync, ltValue, mac, mac48, mac64, map, mapAsync, mapItems, maxBytes, maxCodePoints, maxEntries, maxGraphemes, maxLength, maxSize, maxValue, maxWords, message, metadata, mimeType, minBytes, minCodePoints, minEntries, minGraphemes, minLength, minSize, minValue, minWords, multipleOf, nan, nanoid, never, nonEmpty, nonNullable, nonNullableAsync, nonNullish, nonNullishAsync, nonOptional, nonOptionalAsync, normalize, notBytes, notCodePoints, notEntries, notGraphemes, notLength, notSize, notValue, notValues, notWords, null_ as null, null_, nullable, nullableAsync, nullish, nullishAsync, number, object, objectAsync, objectWithRest, objectWithRestAsync, octal, omit, optional, optionalAsync, parse, parseAsync, parseBoolean, parseJson, parser, parserAsync, partial, partialAsync, partialCheck, partialCheckAsync, pick, picklist, pipe, pipeAsync, promise, rawCheck, rawCheckAsync, rawTransform, rawTransformAsync, readonly, record, recordAsync, reduceItems, regex, required, requiredAsync, returns, returnsAsync, rfcEmail, safeInteger, safeParse, safeParseAsync, safeParser, safeParserAsync, set, setAsync, setGlobalConfig, setGlobalMessage, setSchemaMessage, setSpecificMessage, size, slug, someItem, sortItems, startsWith, strictObject, strictObjectAsync, strictTuple, strictTupleAsync, string, stringifyJson, summarize, symbol, title, toBigint, toBoolean, toCamelCase, toDate, toKebabCase, toLowerCase, toMaxValue, toMinValue, toNumber, toPascalCase, toSnakeCase, toString, toUpperCase, transform, transformAsync, trim, trimEnd, trimStart, tuple, tupleAsync, tupleWithRest, tupleWithRestAsync, ulid, undefined_ as undefined, undefined_, undefinedable, undefinedableAsync, union, unionAsync, unknown, unwrap, url, uuid, value, values, variant, variantAsync, void_ as void, void_, words };","/**\n * Host 与浏览器两半共用的路由路径、视图 schema 与请求 schema。\n * 视图里的文本都已在 Host 侧脱敏、裁剪;浏览器收到响应后按同一份 schema 校验。\n */\nimport * as v from \"valibot\";\n\nexport const ROUTE_BASE = \"/agent-stash-skill-scout\";\nexport const INBOX_PATH = `${ROUTE_BASE}/inbox`;\nexport const DETAIL_PATH = `${ROUTE_BASE}/detail`;\nexport const ACTION_PATH = `${ROUTE_BASE}/action`;\n\n/** 插件页里本插件配置页的键:`<包名>#<条目 id>`。 */\nexport const PACKAGE_NAME = \"@agent-stash/dsh-skill-scout\";\nexport const ROW_ID = \"agent-stash-skill-scout\";\n\nconst Nullable = <T extends v.GenericSchema>(schema: T) => v.nullable(schema);\n\nexport const SignalKindViewSchema = v.picklist([\"repeated\", \"recovery\", \"complex\"]);\n\n/** 建议在界面上的状态;reviewing 只存在于 Host 内存,表示模型正在复核它。 */\nexport const ItemStateSchema = v.picklist([\n \"detected\",\n \"reviewing\",\n \"ready\",\n \"skipped\",\n \"failed\",\n \"dismissed\",\n \"written\",\n]);\nexport type ItemState = v.InferOutput<typeof ItemStateSchema>;\n\nexport const DecisionSchema = v.picklist([\"skip\", \"suggest_create\", \"suggest_improve\"]);\nexport type Decision = v.InferOutput<typeof DecisionSchema>;\n\nexport const FailureKindViewSchema = v.picklist([\n \"timeout\",\n \"model\",\n \"format\",\n \"evidence\",\n \"unsafe\",\n]);\nexport type FailureKind = v.InferOutput<typeof FailureKindViewSchema>;\n\n/** 证据来自的一次任务。 */\nexport const SessionRefSchema = v.object({\n sessionId: v.string(),\n episodeId: v.string(),\n at: v.number(),\n goal: v.string(),\n outcome: v.string(),\n});\nexport type SessionRef = v.InferOutput<typeof SessionRefSchema>;\n\n/** 收件箱里的一条建议。 */\nexport const ItemViewSchema = v.object({\n id: v.string(),\n kind: SignalKindViewSchema,\n state: ItemStateSchema,\n /** 模型给出的标题;未复核时为 null,界面用 goal 代替。 */\n title: Nullable(v.string()),\n goal: v.string(),\n /** 模型给出的理由。 */\n reason: Nullable(v.string()),\n occurrences: v.number(),\n sessions: v.array(SessionRefSchema),\n score: v.number(),\n detectedAt: v.number(),\n updatedAt: v.number(),\n decision: Nullable(DecisionSchema),\n /** 新建的 Skill 名称或要改进的 Skill。 */\n skill: Nullable(v.string()),\n cautions: v.array(v.string()),\n failure: Nullable(\n v.object({\n kind: FailureKindViewSchema,\n message: v.string(),\n at: v.number(),\n attempts: v.number(),\n }),\n ),\n write: Nullable(\n v.object({\n at: v.number(),\n scope: v.picklist([\"project\", \"user\", \"existing\"]),\n skill: v.string(),\n path: v.string(),\n discovered: v.boolean(),\n /** DSH 还没列出,后台仍在核对。 */\n checking: v.boolean(),\n }),\n ),\n dismissedSimilar: v.boolean(),\n});\nexport type ItemView = v.InferOutput<typeof ItemViewSchema>;\n\n/** 插件此刻的工作状态。 */\nexport const StatusViewSchema = v.object({\n discovery: v.boolean(),\n review: v.boolean(),\n notify: v.picklist([\"badge\", \"quiet\"]),\n scope: v.picklist([\"project\", \"user\"]),\n model: Nullable(\n v.object({\n provider: v.string(),\n model: v.string(),\n effort: Nullable(v.string()),\n source: v.picklist([\"config\", \"default\"]),\n }),\n ),\n /** 本进程持有工作锁,负责分析与复核。 */\n lead: v.boolean(),\n scanning: v.boolean(),\n /** 回合已结束、等静默期过去后再分析的会话数。 */\n waiting: v.number(),\n reviewing: Nullable(v.string()),\n usage: v.object({\n reviews: v.number(),\n limit: v.number(),\n inputTokens: v.number(),\n outputTokens: v.number(),\n }),\n lastError: Nullable(v.object({ kind: v.string(), message: v.string(), at: v.number() })),\n analyzed: v.object({ sessions: v.number(), episodes: v.number() }),\n});\nexport type StatusView = v.InferOutput<typeof StatusViewSchema>;\n\nexport const InboxViewSchema = v.object({\n status: StatusViewSchema,\n items: v.array(ItemViewSchema),\n});\nexport type InboxView = v.InferOutput<typeof InboxViewSchema>;\n\n/** 证据里的一次操作。 */\nexport const EvidenceOpSchema = v.object({\n /** 证据编号,与模型引用一致,例如 `E1.42`。 */\n ref: v.string(),\n kind: v.picklist([\"read\", \"edit\", \"exec\", \"delegate\"]),\n label: v.string(),\n ok: v.boolean(),\n exit: Nullable(v.number()),\n error: Nullable(v.string()),\n /** 在结果判定或恢复链里的角色。 */\n role: Nullable(v.picklist([\"verify\", \"failure\", \"fix\", \"recovered\"])),\n /** 模型的结论引用了它。 */\n cited: v.boolean(),\n});\nexport type EvidenceOp = v.InferOutput<typeof EvidenceOpSchema>;\n\nexport const EvidenceEpisodeSchema = v.object({\n ref: v.string(),\n episodeId: v.string(),\n sessionId: v.string(),\n at: v.number(),\n cwd: Nullable(v.string()),\n goal: v.string(),\n outcome: v.string(),\n reads: v.number(),\n ops: v.array(EvidenceOpSchema),\n reply: Nullable(v.string()),\n followup: Nullable(v.string()),\n});\nexport type EvidenceEpisode = v.InferOutput<typeof EvidenceEpisodeSchema>;\n\n/** 可编辑的 Skill 字段。 */\nexport const SkillFieldsSchema = v.object({\n name: v.pipe(v.string(), v.trim(), v.regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/u), v.maxLength(64)),\n description: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(500)),\n whenToUse: v.pipe(v.string(), v.trim(), v.maxLength(500)),\n body: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(20000)),\n});\nexport type SkillFields = v.InferOutput<typeof SkillFieldsSchema>;\n\n/** 一条建议的完整信息:证据、模型结论与草稿。 */\nexport const DetailViewSchema = v.object({\n item: ItemViewSchema,\n episodes: v.array(EvidenceEpisodeSchema),\n review: Nullable(\n v.object({\n provider: v.string(),\n model: v.string(),\n at: v.number(),\n inputTokens: v.number(),\n outputTokens: v.number(),\n }),\n ),\n /** suggest_create 的草稿字段。 */\n draft: Nullable(SkillFieldsSchema),\n /** suggest_improve 的追加内容。 */\n section: Nullable(v.string()),\n});\nexport type DetailView = v.InferOutput<typeof DetailViewSchema>;\n\n/** 写入前的预览。 */\nexport const PreviewViewSchema = v.variant(\"kind\", [\n v.object({\n kind: v.literal(\"create\"),\n scope: v.picklist([\"project\", \"user\"]),\n path: v.string(),\n content: v.string(),\n exists: v.boolean(),\n }),\n v.object({\n kind: v.literal(\"improve\"),\n skill: v.string(),\n path: Nullable(v.string()),\n /** 目标在 DSH 扫描的项目或用户 Skill 目录里,可以写入。 */\n writable: v.boolean(),\n before: v.string(),\n after: v.string(),\n baseHash: v.string(),\n }),\n]);\nexport type PreviewView = v.InferOutput<typeof PreviewViewSchema>;\n\nconst Id = v.pipe(v.string(), v.minLength(1), v.maxLength(200));\nconst Scope = v.optional(v.picklist([\"project\", \"user\"]));\nconst Section = v.optional(v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(8000)));\n\nexport const ActionSchema = v.variant(\"action\", [\n v.object({ action: v.literal(\"analyze\"), id: Id }),\n v.object({ action: v.literal(\"dismiss\"), id: Id, similar: v.boolean() }),\n v.object({ action: v.literal(\"restore\"), id: Id }),\n v.object({\n action: v.literal(\"preview\"),\n id: Id,\n scope: Scope,\n fields: v.optional(SkillFieldsSchema),\n section: Section,\n }),\n v.object({\n action: v.literal(\"write\"),\n id: Id,\n scope: Scope,\n fields: v.optional(SkillFieldsSchema),\n section: Section,\n baseHash: v.optional(v.string()),\n }),\n v.object({ action: v.literal(\"undo\"), id: Id }),\n v.object({ action: v.literal(\"scan\") }),\n]);\nexport type Action = v.InferInput<typeof ActionSchema>;\n\n/** 操作失败的类别。 */\nexport const ActionErrorKindSchema = v.picklist([\n \"invalid\",\n \"missing\",\n \"busy\",\n \"no-model\",\n \"exists\",\n \"changed\",\n \"outside\",\n \"unsafe\",\n]);\nexport type ActionErrorKind = v.InferOutput<typeof ActionErrorKindSchema>;\n\nexport const ActionResultSchema = v.variant(\"ok\", [\n v.object({ ok: v.literal(true), inbox: InboxViewSchema, preview: v.optional(PreviewViewSchema) }),\n v.object({\n ok: v.literal(false),\n error: v.object({ kind: ActionErrorKindSchema, message: v.string() }),\n inbox: InboxViewSchema,\n }),\n]);\nexport type ActionResult = v.InferOutput<typeof ActionResultSchema>;\n\n/** 非 2xx 且不是操作失败的响应体。 */\nexport const ErrorBodySchema = v.object({ error: v.string() });\n","/** 浏览器端访问 Host 路由:响应按 shared.ts 的 schema 校验。 */\nimport * as v from \"valibot\";\nimport {\n ACTION_PATH,\n ActionResultSchema,\n DETAIL_PATH,\n DetailViewSchema,\n ErrorBodySchema,\n INBOX_PATH,\n InboxViewSchema,\n type Action,\n type ActionResult,\n type DetailView,\n type InboxView,\n} from \"../shared.ts\";\n\n/** 解析响应;操作失败(409/404)也带收件箱,按结果返回而不是抛出。 */\nasync function parse<TSchema extends v.GenericSchema>(\n response: Response,\n schema: TSchema,\n path: string,\n): Promise<v.InferOutput<TSchema>> {\n const body: unknown = await response.json();\n const result = v.safeParse(schema, body);\n if (result.success) return result.output;\n const error = v.safeParse(ErrorBodySchema, body);\n throw new Error(error.success ? error.output.error : `${path} 返回了 ${String(response.status)}`);\n}\n\n/** 读取收件箱与工作状态。 */\nexport async function fetchInbox(signal?: AbortSignal): Promise<InboxView> {\n const response = await fetch(INBOX_PATH, {\n headers: { accept: \"application/json\" },\n cache: \"no-store\",\n ...(signal === undefined ? {} : { signal }),\n });\n return parse(response, InboxViewSchema, INBOX_PATH);\n}\n\n/** 读取一条建议的证据与草稿。 */\nexport async function fetchDetail(id: string, signal?: AbortSignal): Promise<DetailView> {\n const response = await fetch(`${DETAIL_PATH}?${new URLSearchParams({ id }).toString()}`, {\n headers: { accept: \"application/json\" },\n cache: \"no-store\",\n ...(signal === undefined ? {} : { signal }),\n });\n return parse(response, DetailViewSchema, DETAIL_PATH);\n}\n\n/** 提交一个操作。 */\nexport async function postAction(action: Action): Promise<ActionResult> {\n const response = await fetch(ACTION_PATH, {\n method: \"POST\",\n headers: { accept: \"application/json\", \"content-type\": \"application/json\" },\n body: JSON.stringify(action),\n });\n return parse(response, ActionResultSchema, ACTION_PATH);\n}\n","/**\n * 模态对话框:原生 `<dialog>` 加 `showModal()`,卡片外观取自宿主 `Modal`,宽度适合并排阅读证据与预览。\n * 挂上时进入 top layer,卸载时浏览器把焦点还给打开前的控件。初始焦点给带 `data-autofocus` 的控件。\n * `busy` 期间点遮罩、按 Escape 与关闭按钮都不生效。\n */\nimport { IconCloseOutlineRegular } from \"@deepseek-ai/dsh-client-ui-primitives\";\nimport { useCallback, useRef, type MouseEvent, type ReactNode, type SyntheticEvent } from \"react\";\nimport styles from \"./dialog.module.css\";\n\nexport interface DialogProps {\n readonly title: string;\n readonly closeLabel: string;\n /** 标题下的一行说明。 */\n readonly subtitle?: ReactNode;\n readonly busy: boolean;\n readonly onClose: () => void;\n readonly children: ReactNode;\n readonly footer?: ReactNode;\n}\n\n/** 点击落在卡片矩形之外,即遮罩上。 */\nfunction onBackdrop(event: MouseEvent<HTMLDialogElement>): boolean {\n if (event.target !== event.currentTarget) return false;\n const box = event.currentTarget.getBoundingClientRect();\n return (\n event.clientX < box.left ||\n event.clientX > box.right ||\n event.clientY < box.top ||\n event.clientY > box.bottom\n );\n}\n\nexport function Dialog({\n title,\n closeLabel,\n subtitle,\n busy,\n onClose,\n children,\n footer,\n}: DialogProps): ReactNode {\n const element = useRef<HTMLDialogElement | null>(null);\n const pressedOutside = useRef(false);\n\n const attach = useCallback((node: HTMLDialogElement | null) => {\n if (node === null) {\n element.current?.close();\n element.current = null;\n return;\n }\n element.current = node;\n if (!node.open) node.showModal();\n node.querySelector<HTMLElement>(\"[data-autofocus]\")?.focus();\n }, []);\n\n const close = (): void => {\n if (!busy) onClose();\n };\n\n /** Escape 触发的 cancel 一律接管,忙时不关闭。 */\n const onCancel = (event: SyntheticEvent<HTMLDialogElement>): void => {\n event.preventDefault();\n close();\n };\n\n return (\n <dialog\n ref={attach}\n aria-label={title}\n aria-busy={busy || undefined}\n className={styles.dialog}\n onCancel={onCancel}\n onPointerDown={(event) => {\n pressedOutside.current = onBackdrop(event);\n }}\n onClick={(event) => {\n if (pressedOutside.current && onBackdrop(event)) close();\n pressedOutside.current = false;\n }}\n >\n <div className={styles.header}>\n <div className={styles.heading}>\n <h2 className={styles.title}>{title}</h2>\n {subtitle !== undefined && <p className={styles.subtitle}>{subtitle}</p>}\n </div>\n <button\n type=\"button\"\n className={styles.close}\n aria-label={closeLabel}\n disabled={busy}\n onClick={close}\n >\n <IconCloseOutlineRegular size={14} />\n </button>\n </div>\n <div className={styles.body}>{children}</div>\n {footer !== undefined && <div className={styles.footer}>{footer}</div>}\n </dialog>\n );\n}\n","/** 界面上的时间、数量与状态文案。 */\nimport type { ItemView } from \"../shared.ts\";\nimport type { ScoutTranslate } from \"./locale.ts\";\n\nconst MINUTE = 60_000;\nconst HOUR = 60 * MINUTE;\nconst DAY = 24 * HOUR;\n\n/** 相对时间:刚刚、N 分钟前、N 小时前、N 天前。 */\nexport function ago(t: ScoutTranslate, at: number, now: number): string {\n const elapsed = Math.max(0, now - at);\n if (elapsed < MINUTE) return t(\"time.now\");\n if (elapsed < HOUR) return t(\"time.minutes\", { count: Math.floor(elapsed / MINUTE) });\n if (elapsed < DAY) return t(\"time.hours\", { count: Math.floor(elapsed / HOUR) });\n return t(\"time.days\", { count: Math.floor(elapsed / DAY) });\n}\n\n/** 「N 个会话」。 */\nexport function sessionCount(t: ScoutTranslate, count: number): string {\n return t(count === 1 ? \"meta.sessions.one\" : \"meta.sessions.other\", { count });\n}\n\n/** 卡片标题:模型标题,未复核时用用户请求。 */\nexport function titleOf(item: ItemView): string {\n return item.title ?? item.goal;\n}\n\n/** 一行元信息:信号类型 · 会话数 · 时间。 */\nexport function metaOf(t: ScoutTranslate, item: ItemView, now: number): string {\n return [\n t(`kind.${item.kind}`),\n sessionCount(t, item.occurrences),\n ago(t, item.updatedAt, now),\n ].join(\" · \");\n}\n\n/** 收件箱分组。 */\nexport interface Groups {\n readonly ready: readonly ItemView[];\n readonly found: readonly ItemView[];\n readonly history: readonly ItemView[];\n}\n\n/** 按状态分组:可保存、本地发现(含复核中与失败)、历史。 */\nexport function groupItems(items: readonly ItemView[]): Groups {\n return {\n ready: items.filter((item) => item.state === \"ready\"),\n found: items.filter(\n (item) => item.state === \"detected\" || item.state === \"reviewing\" || item.state === \"failed\",\n ),\n history: items.filter(\n (item) => item.state === \"written\" || item.state === \"skipped\" || item.state === \"dismissed\",\n ),\n };\n}\n\n/** 把 `~` 开头之外的长路径缩短到末尾几段。 */\nexport function shortPath(path: string): string {\n const parts = path.split(\"/\");\n return parts.length <= 4 ? path : `…/${parts.slice(-4).join(\"/\")}`;\n}\n","/**\n * 一条建议的详情:证据、Skill 预览与编辑、文件改动,以及保存、忽略、撤销。\n * 证据与草稿从 Host 读取;建议的状态跟随收件箱刷新,状态或更新时间变化时重新读取详情。\n */\nimport {\n Button,\n DiffBlock,\n IconCheckOutlineRegular,\n IconCloseOutlineRegular,\n MarkdownText,\n SegmentedControl,\n} from \"@deepseek-ai/dsh-client-ui-primitives\";\nimport { useEffect, useId, useMemo, useState, type ReactNode } from \"react\";\nimport * as v from \"valibot\";\nimport {\n SkillFieldsSchema,\n type Action,\n type DetailView,\n type EvidenceEpisode,\n type ItemView,\n type PreviewView,\n type SkillFields,\n} from \"../shared.ts\";\nimport { Dialog } from \"./dialog.tsx\";\nimport styles from \"./detail.module.css\";\nimport { ago, sessionCount, shortPath, titleOf } from \"./format.ts\";\nimport type { ScoutKey, ScoutTranslate } from \"./locale.ts\";\nimport type { InboxStore, Notice } from \"./store.ts\";\n\ntype Tab = \"evidence\" | \"skill\" | \"changes\";\ntype Busy = \"review\" | \"save\" | \"dismiss\" | \"undo\" | \"restore\" | null;\n\nexport interface DetailProps {\n readonly id: string;\n readonly item: ItemView;\n readonly inbox: InboxStore;\n /** 读取详情;`version` 标识建议的状态,变化时重新读取。 */\n readonly loadDetail: (id: string, version: string, signal: AbortSignal) => Promise<DetailView>;\n readonly modelName: string | null;\n readonly defaultScope: \"project\" | \"user\";\n readonly openSession: ((sessionId: string) => void) | null;\n readonly t: ScoutTranslate;\n readonly onClose: () => void;\n}\n\ntype Loaded<T> =\n | { readonly status: \"loading\" }\n | { readonly status: \"ready\"; readonly value: T }\n | { readonly status: \"error\"; readonly error: string };\n\nfunction message(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\n/** Markdown 与 diff 视图的文案。 */\nfunction useLabels(t: ScoutTranslate) {\n return useMemo(() => {\n const toolbar = {\n codeLabel: t(\"code.label\"),\n wrapLabel: t(\"code.wrap\"),\n unwrapLabel: t(\"code.unwrap\"),\n };\n return {\n markdown: {\n code: { copyLabel: t(\"code.copy\"), copiedLabel: t(\"code.copied\"), toolbarLabels: toolbar },\n footnotes: t(\"code.footnotes\"),\n },\n diff: {\n ...toolbar,\n copy: t(\"code.copy\"),\n copied: t(\"code.copied\"),\n collapse: t(\"diff.collapse\"),\n collapseAria: t(\"diff.collapseAria\"),\n expand: (count: number) => t(\"diff.expand\", { count }),\n expandAria: (count: number) => t(\"diff.expand\", { count }),\n },\n };\n }, [t]);\n}\n\ninterface EvidenceProps {\n readonly episode: EvidenceEpisode;\n readonly now: number;\n readonly openSession: ((sessionId: string) => void) | null;\n readonly t: ScoutTranslate;\n}\n\nconst ROLE_KEYS: Readonly<Record<NonNullable<EvidenceEpisode[\"ops\"][number][\"role\"]>, ScoutKey>> = {\n verify: \"role.verify\",\n failure: \"role.failure\",\n fix: \"role.fix\",\n recovered: \"role.recovered\",\n};\n\nfunction Episode({ episode, now, openSession, t }: EvidenceProps): ReactNode {\n const outcome = `outcome.${episode.outcome}`;\n return (\n <section className={styles.episode} aria-label={episode.goal}>\n <div className={styles.episodeHead}>\n <span className={styles.ref}>{episode.ref}</span>\n <div className={styles.episodeText}>\n <p className={styles.goal}>{episode.goal}</p>\n <p className={styles.meta}>\n <span data-outcome={episode.outcome}>\n {isKey(outcome) ? t(outcome) : episode.outcome}\n </span>\n <span>{ago(t, episode.at, now)}</span>\n {episode.cwd !== null && <span className={styles.path}>{shortPath(episode.cwd)}</span>}\n </p>\n </div>\n {openSession !== null && (\n <Button size=\"sm\" variant=\"ghost\" onClick={() => openSession(episode.sessionId)}>\n {t(\"detail.openSession\")}\n </Button>\n )}\n </div>\n <ol className={styles.ops} aria-label={t(\"evidence.list\", { ref: episode.ref })}>\n {episode.ops.map((op) => (\n <li key={op.ref} className={styles.op} data-ok={op.ok} data-cited={op.cited || undefined}>\n <span className={styles.opGlyph} aria-hidden=\"true\">\n {op.ok ? (\n <IconCheckOutlineRegular size={12} />\n ) : (\n <IconCloseOutlineRegular size={12} />\n )}\n </span>\n <span className={styles.opBody}>\n <code className={styles.opLabel} data-kind={op.kind}>\n {op.label}\n </code>\n <span className={styles.opTags}>\n {op.role !== null && <span className={styles.tag}>{t(ROLE_KEYS[op.role])}</span>}\n {op.cited && (\n <span className={styles.tag} data-cited=\"\">\n {t(\"role.cited\")}\n </span>\n )}\n {op.exit !== null && op.exit !== 0 && (\n <span className={styles.tag}>{t(\"evidence.exit\", { code: op.exit })}</span>\n )}\n </span>\n {op.error !== null && <span className={styles.opError}>{op.error}</span>}\n </span>\n <span className={styles.opRef}>{op.ref}</span>\n </li>\n ))}\n </ol>\n {episode.reads > 0 && (\n <p className={styles.note}>\n {t(episode.reads === 1 ? \"evidence.reads.one\" : \"evidence.reads.other\", {\n count: episode.reads,\n })}\n </p>\n )}\n {episode.followup !== null && (\n <p className={styles.note}>\n {t(\"evidence.followup\")}: {episode.followup}\n </p>\n )}\n </section>\n );\n}\n\nconst KEYS = new Set<string>([\n \"outcome.verified\",\n \"outcome.succeeded\",\n \"outcome.unverified\",\n \"outcome.disputed\",\n \"outcome.failed\",\n \"outcome.aborted\",\n]);\n\nfunction isKey(key: string): key is ScoutKey {\n return KEYS.has(key);\n}\n\ninterface FieldsEditorProps {\n readonly fields: SkillFields;\n readonly onChange: (next: SkillFields) => void;\n readonly t: ScoutTranslate;\n}\n\nfunction FieldsEditor({ fields, onChange, t }: FieldsEditorProps): ReactNode {\n const id = useId();\n const field = (key: keyof SkillFields, rows: number, mono = false): ReactNode => (\n <label className={styles.field} htmlFor={`${id}-${key}`}>\n <span className={styles.fieldLabel}>{t(`skill.${key}`)}</span>\n {rows === 1 ? (\n <input\n id={`${id}-${key}`}\n className={styles.input}\n value={fields[key]}\n spellCheck={false}\n onChange={(event) => onChange({ ...fields, [key]: event.target.value })}\n />\n ) : (\n <textarea\n id={`${id}-${key}`}\n className={mono ? `${styles.input} ${styles.mono}` : styles.input}\n rows={rows}\n value={fields[key]}\n onChange={(event) => onChange({ ...fields, [key]: event.target.value })}\n />\n )}\n </label>\n );\n return (\n <div className={styles.editor}>\n {field(\"name\", 1)}\n {field(\"description\", 2)}\n {field(\"whenToUse\", 2)}\n {field(\"body\", 14, true)}\n </div>\n );\n}\n\n/** 一条建议的详情对话框。 */\nexport function Detail({\n id,\n item,\n inbox,\n loadDetail,\n modelName,\n defaultScope,\n openSession,\n t,\n onClose,\n}: DetailProps): ReactNode {\n const tabsId = useId();\n const labels = useLabels(t);\n const [detail, setDetail] = useState<Loaded<DetailView>>({ status: \"loading\" });\n const [tab, setTab] = useState<Tab>(\"evidence\");\n const [scope, setScope] = useState(defaultScope);\n const [editing, setEditing] = useState(false);\n const [fields, setFields] = useState<SkillFields | null>(null);\n const [section, setSection] = useState<string | null>(null);\n const [preview, setPreview] = useState<Loaded<PreviewView> | null>(null);\n const [busy, setBusy] = useState<Busy>(null);\n const [error, setError] = useState<string | null>(null);\n const [now] = useState(() => Date.now());\n\n // 建议的状态或更新时间变化时重新读取详情:复核完成后才有结论与草稿。\n const version = `${item.state}:${String(item.updatedAt)}`;\n useEffect(() => {\n const controller = new AbortController();\n loadDetail(id, version, controller.signal).then(\n (value) => {\n if (controller.signal.aborted) return;\n setDetail({ status: \"ready\", value });\n },\n (reason: unknown) => {\n if (controller.signal.aborted) return;\n setDetail({ status: \"error\", error: message(reason) });\n },\n );\n return () => controller.abort();\n }, [id, version, loadDetail]);\n\n const value = detail.status === \"ready\" ? detail.value : null;\n const create = item.decision === \"suggest_create\";\n const improve = item.decision === \"suggest_improve\";\n const reviewed = create || improve;\n const draft = fields ?? value?.draft ?? null;\n const shownSection = section ?? value?.section ?? null;\n const parsed = draft === null ? null : v.safeParse(SkillFieldsSchema, draft);\n const invalid = create && parsed !== null && !parsed.success;\n\n // 「改动」页与保存前都需要 Host 渲染的最终文件;编辑后稍等再请求。\n const wantPreview = reviewed && item.state === \"ready\" && value !== null;\n useEffect(() => {\n if (!wantPreview || invalid) return undefined;\n let stale = false;\n const timer = setTimeout(\n () => {\n setPreview((current) => (current === null ? { status: \"loading\" } : current));\n const action: Action = {\n action: \"preview\",\n id,\n ...(create ? { scope } : {}),\n ...(fields === null ? {} : { fields }),\n ...(section === null ? {} : { section }),\n };\n inbox.act(action).then(\n (result) => {\n if (stale) return;\n if (result.ok && result.preview !== undefined)\n setPreview({ status: \"ready\", value: result.preview });\n else\n setPreview({\n status: \"error\",\n error: result.ok ? \"\" : t(`error.${result.error.kind}`),\n });\n },\n (reason: unknown) => {\n if (!stale) setPreview({ status: \"error\", error: message(reason) });\n },\n );\n },\n fields === null && section === null ? 0 : 300,\n );\n return () => {\n stale = true;\n clearTimeout(timer);\n };\n }, [wantPreview, invalid, id, create, scope, fields, section, inbox, t]);\n\n const run = async (\n kind: Exclude<Busy, null>,\n action: Action,\n notice?: Notice,\n ): Promise<boolean> => {\n setBusy(kind);\n setError(null);\n try {\n const result = await inbox.act(action, notice);\n if (!result.ok) setError(t(`error.${result.error.kind}`));\n return result.ok;\n } catch (reason) {\n setError(t(\"error.request\", { error: message(reason) }));\n return false;\n } finally {\n setBusy(null);\n }\n };\n\n const skillName = item.skill ?? \"\";\n const dismiss = async (similar: boolean): Promise<void> => {\n const ok = await run(\n \"dismiss\",\n { action: \"dismiss\", id, similar },\n {\n key: similar ? \"notice.dismissedSimilar\" : \"notice.dismissed\",\n params: {},\n undo: { action: \"restore\", id },\n },\n );\n if (ok) onClose();\n };\n const save = async (): Promise<void> => {\n const ok = await run(\n \"save\",\n {\n action: \"write\",\n id,\n ...(create ? { scope } : {}),\n ...(fields === null ? {} : { fields }),\n ...(section === null ? {} : { section }),\n ...(preview?.status === \"ready\" && preview.value.kind === \"improve\"\n ? { baseHash: preview.value.baseHash }\n : {}),\n },\n {\n key: \"notice.written\",\n params: { skill: draft?.name ?? skillName },\n undo: { action: \"undo\", id },\n },\n );\n if (ok) {\n setEditing(false);\n setPreview(null);\n }\n };\n\n const tabs: { value: Tab; label: string }[] = [\n { value: \"evidence\", label: t(\"detail.tab.evidence\") },\n ...(reviewed\n ? [\n { value: \"skill\" as const, label: t(\"detail.tab.skill\") },\n ...(item.state === \"ready\"\n ? [{ value: \"changes\" as const, label: t(\"detail.tab.changes\") }]\n : []),\n ]\n : []),\n ];\n const activeTab = tabs.some((entry) => entry.value === tab) ? tab : \"evidence\";\n\n const subtitle = [\n t(`kind.${item.kind}`),\n sessionCount(t, item.occurrences),\n value?.review === null || value === null\n ? t(`state.${item.state}`)\n : t(\"detail.reviewedBy\", { model: value.review.model }),\n ].join(\" · \");\n\n const reviewPanel = (): ReactNode => {\n if (reviewed || item.state === \"dismissed\" || item.state === \"written\") return null;\n if (item.state === \"skipped\") {\n return <p className={styles.callout}>{t(\"detail.skipped\")}</p>;\n }\n if (item.state === \"reviewing\") {\n return (\n <p className={styles.callout} role=\"status\">\n {t(\"detail.reviewing\", { model: modelName ?? \"\" })}\n </p>\n );\n }\n return (\n <div className={styles.callout}>\n {item.failure !== null && (\n <p className={styles.failure} role=\"alert\">\n {t(\"detail.failed\", { kind: t(`failure.${item.failure.kind}`) })}\n <span className={styles.failureDetail}>{item.failure.message}</span>\n </p>\n )}\n <p>{t(\"detail.local\")}</p>\n <p className={styles.note}>\n {modelName === null\n ? t(\"detail.noModel\")\n : t(\"detail.reviewNote\", { count: item.sessions.length, model: modelName })}\n </p>\n <div>\n <Button\n size=\"sm\"\n variant=\"outline\"\n data-autofocus=\"\"\n disabled={modelName === null || busy !== null}\n onClick={() => void run(\"review\", { action: \"analyze\", id })}\n >\n {item.failure === null ? t(\"detail.review\") : t(\"detail.retry\")}\n </Button>\n </div>\n </div>\n );\n };\n\n const evidence = (): ReactNode => (\n <div className={styles.stack}>\n {reviewPanel()}\n {item.reason !== null && (\n <section className={styles.why}>\n <h3 className={styles.heading}>{t(\"detail.why\")}</h3>\n <p>{item.reason}</p>\n </section>\n )}\n {item.cautions.length > 0 && (\n <p className={styles.caution} role=\"note\">\n {t(\"detail.cautions\", {\n list: item.cautions\n .map((caution) => {\n const key = `caution.${caution}`;\n return isCaution(key) ? t(key) : caution;\n })\n .join(\", \"),\n })}\n </p>\n )}\n {value?.episodes.map((episode) => (\n <Episode\n key={episode.episodeId}\n episode={episode}\n now={now}\n openSession={openSession}\n t={t}\n />\n ))}\n </div>\n );\n\n const skill = (): ReactNode => {\n if (create && draft !== null) {\n return (\n <div className={styles.stack}>\n <div className={styles.toolbar}>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => setEditing(!editing)}\n disabled={item.state !== \"ready\"}\n >\n {editing ? t(\"skill.preview\") : t(\"skill.edit\")}\n </Button>\n {fields !== null && (\n <Button size=\"sm\" variant=\"ghost\" onClick={() => setFields(null)}>\n {t(\"skill.reset\")}\n </Button>\n )}\n </div>\n {editing ? (\n <>\n <FieldsEditor fields={draft} onChange={setFields} t={t} />\n {invalid && (\n <p className={styles.failure} role=\"alert\">\n {t(\"skill.invalid\")}\n </p>\n )}\n </>\n ) : (\n <>\n <dl className={styles.facts}>\n <dt>{t(\"skill.name\")}</dt>\n <dd>\n <code>{draft.name}</code>\n </dd>\n <dt>{t(\"skill.description\")}</dt>\n <dd>{draft.description}</dd>\n {draft.whenToUse !== \"\" && (\n <>\n <dt>{t(\"skill.whenToUse\")}</dt>\n <dd>{draft.whenToUse}</dd>\n </>\n )}\n </dl>\n <div className={styles.markdown}>\n <MarkdownText text={draft.body} labels={labels.markdown} />\n </div>\n </>\n )}\n </div>\n );\n }\n if (improve && shownSection !== null) {\n const notWritable =\n preview?.status === \"ready\" && preview.value.kind === \"improve\" && !preview.value.writable;\n return (\n <div className={styles.stack}>\n {notWritable && (\n <p className={styles.caution}>{t(\"skill.notWritable\", { skill: skillName })}</p>\n )}\n <div className={styles.toolbar}>\n <span className={styles.heading}>{t(\"skill.section\", { skill: skillName })}</span>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => setEditing(!editing)}\n disabled={item.state !== \"ready\"}\n >\n {editing ? t(\"skill.preview\") : t(\"skill.edit\")}\n </Button>\n </div>\n {editing ? (\n <textarea\n className={`${styles.input} ${styles.mono}`}\n aria-label={t(\"skill.section\", { skill: skillName })}\n rows={12}\n value={shownSection}\n onChange={(event) => setSection(event.target.value)}\n />\n ) : (\n <div className={styles.markdown}>\n <MarkdownText text={shownSection} labels={labels.markdown} />\n </div>\n )}\n </div>\n );\n }\n return null;\n };\n\n const changes = (): ReactNode => {\n if (preview === null || preview.status === \"loading\") {\n return (\n <p className={styles.note} role=\"status\">\n {t(\"changes.loading\")}\n </p>\n );\n }\n if (preview.status === \"error\") {\n return (\n <p className={styles.failure} role=\"alert\">\n {t(\"changes.error\", { error: preview.error })}\n </p>\n );\n }\n const file = preview.value;\n return (\n <div className={styles.stack}>\n {file.kind === \"create\" && file.exists && (\n <p className={styles.caution}>{t(\"changes.exists\")}</p>\n )}\n <DiffBlock\n diffs={[\n file.kind === \"create\"\n ? { path: file.path, oldText: null, newText: file.content }\n : { path: file.path ?? file.skill, oldText: file.before, newText: file.after },\n ]}\n labels={labels.diff}\n maxLines={400}\n />\n </div>\n );\n };\n\n const footer = (): ReactNode => {\n if (item.state === \"written\" && item.write !== null) {\n return (\n <>\n <p className={styles.written} role=\"status\">\n <span className={styles.writtenPath}>\n {t(\"written.path\", { path: shortPath(item.write.path) })}\n </span>\n <span>\n {item.write.discovered\n ? t(\"written.discovered\")\n : item.write.checking\n ? t(\"written.checking\")\n : t(\"written.missing\")}\n </span>\n </p>\n <span className={styles.spacer} />\n <Button\n size=\"sm\"\n variant=\"outline\"\n disabled={busy !== null}\n onClick={() =>\n void run(\n \"undo\",\n { action: \"undo\", id },\n {\n key: \"notice.undone\",\n params: { skill: item.write?.skill ?? skillName },\n undo: null,\n },\n )\n }\n >\n {t(\"action.undo\")}\n </Button>\n <Button size=\"sm\" variant=\"primary\" onClick={onClose} data-autofocus=\"\">\n {t(\"action.done\")}\n </Button>\n </>\n );\n }\n if (item.state === \"dismissed\") {\n return (\n <>\n <span className={styles.spacer} />\n <Button\n size=\"sm\"\n variant=\"outline\"\n disabled={busy !== null}\n onClick={() =>\n void run(\n \"restore\",\n { action: \"restore\", id },\n { key: \"notice.restored\", params: {}, undo: null },\n )\n }\n >\n {t(\"action.restore\")}\n </Button>\n </>\n );\n }\n const writable = !(\n preview?.status === \"ready\" &&\n preview.value.kind === \"improve\" &&\n !preview.value.writable\n );\n return (\n <>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n disabled={busy !== null}\n onClick={() => void dismiss(false)}\n >\n {t(\"action.dismiss\")}\n </Button>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n disabled={busy !== null}\n onClick={() => void dismiss(true)}\n >\n {t(\"action.dismissSimilar\")}\n </Button>\n <span className={styles.spacer} />\n {item.state === \"ready\" && create && (\n <SegmentedControl\n id={`${tabsId}-scope`}\n label={t(\"scope.label\")}\n value={scope}\n disabled={busy !== null}\n options={[\n { value: \"project\", label: t(\"scope.project\") },\n { value: \"user\", label: t(\"scope.user\") },\n ]}\n onChange={setScope}\n />\n )}\n {item.state === \"ready\" && (\n <Button\n size=\"sm\"\n variant=\"primary\"\n data-autofocus=\"\"\n disabled={busy !== null || invalid || !writable}\n onClick={() => void save()}\n >\n {busy === \"save\"\n ? t(\"action.saving\")\n : create\n ? t(\"action.save\")\n : t(\"action.improve\", { skill: skillName })}\n </Button>\n )}\n </>\n );\n };\n\n return (\n <Dialog\n title={titleOf(item)}\n subtitle={subtitle}\n closeLabel={t(\"detail.close\")}\n busy={busy === \"save\" || busy === \"undo\"}\n onClose={onClose}\n footer={\n <>\n {error !== null && (\n <p className={styles.actionError} role=\"alert\">\n {error}\n </p>\n )}\n {footer()}\n </>\n }\n >\n {detail.status === \"loading\" && (\n <p className={styles.note} role=\"status\">\n {t(\"detail.loading\")}\n </p>\n )}\n {detail.status === \"error\" && (\n <p className={styles.failure} role=\"alert\">\n {t(\"detail.error\")} <span className={styles.failureDetail}>{detail.error}</span>\n </p>\n )}\n {value !== null && (\n <>\n {tabs.length > 1 && (\n <div className={styles.tabs}>\n <SegmentedControl\n id={tabsId}\n label={t(\"detail.tabs\")}\n value={activeTab}\n options={tabs}\n onChange={setTab}\n />\n </div>\n )}\n <div\n className={styles.panel}\n role={tabs.length > 1 ? \"tabpanel\" : undefined}\n aria-labelledby={tabs.length > 1 ? `${tabsId}-${activeTab}` : undefined}\n >\n {activeTab === \"evidence\" && evidence()}\n {activeTab === \"skill\" && skill()}\n {activeTab === \"changes\" && changes()}\n </div>\n </>\n )}\n </Dialog>\n );\n}\n\nconst CAUTIONS = new Set<string>([\n \"caution.sudo\",\n \"caution.force-push\",\n \"caution.no-verify\",\n \"caution.chmod-777\",\n \"caution.recursive-delete\",\n]);\n\nfunction isCaution(key: string): key is ScoutKey {\n return CAUTIONS.has(key);\n}\n","/** 订阅 Observable 的 React Hook。 */\nimport { useSyncExternalStore } from \"react\";\nimport type { Observable } from \"./dsh.ts\";\n\nexport function useSnapshot<T>(source: Observable<T>): T {\n return useSyncExternalStore(source.subscribe, source.getSnapshot, source.getSnapshot);\n}\n","/**\n * 会话标题栏里的经验提炼入口:一个图标按钮,有新建议时带一个小计数;点开是收件箱浮层,\n * 点卡片打开详情对话框。入口在第一次读取完成前不渲染,避免标题栏闪动。\n * 计数只算打开收件箱之后出现的可保存建议,看过即清零。\n */\nimport {\n IconCloseOutlineRegular,\n IconSkillOutlineRegular,\n useAnchoredPosition,\n useDismissOnOutsidePointer,\n} from \"@deepseek-ai/dsh-client-ui-primitives\";\nimport {\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport * as v from \"valibot\";\nimport type { DetailView, InboxView, ItemView } from \"../shared.ts\";\nimport { Detail } from \"./detail.tsx\";\nimport { groupItems, metaOf, titleOf } from \"./format.ts\";\nimport { useSnapshot } from \"./hooks.ts\";\nimport type { ScoutTranslate } from \"./locale.ts\";\nimport type { InboxStore } from \"./store.ts\";\nimport styles from \"./inbox.module.css\";\n\n/** 注入到标题栏入口的共享对象。 */\nexport interface InboxFace {\n readonly inbox: InboxStore;\n readonly seen: SeenStore;\n readonly loadDetail: (id: string, version: string, signal: AbortSignal) => Promise<DetailView>;\n readonly openSession: ((sessionId: string) => void) | null;\n}\n\nexport type InboxEntryProps = InboxFace & { readonly t: ScoutTranslate };\n\n/** 看过的可保存建议;存在 localStorage 里,跨窗口共享。 */\nexport interface SeenStore {\n has(id: string): boolean;\n add(ids: readonly string[]): void;\n}\n\nconst SEEN_KEY = \"agent-stash-skill-scout:seen\";\nconst SEEN_LIMIT = 200;\n\nconst SeenSchema = v.pipe(v.string(), v.parseJson(), v.array(v.string()));\n\n/**\n * 以 localStorage 保存看过的建议 id,只保留最近的一部分。\n * localStorage 是页面共享的外部存储:内容损坏时当作没有记录,写不进去(无痕模式、配额已满)时只记在内存里,\n * 两种情况都只影响角标计数。\n */\nexport function createSeenStore(storage: Pick<Storage, \"getItem\" | \"setItem\">): SeenStore {\n let memory: readonly string[] = [];\n const read = (): readonly string[] => {\n const raw = storage.getItem(SEEN_KEY);\n if (raw === null) return memory;\n const parsed = v.safeParse(SeenSchema, raw);\n return parsed.success ? [...new Set([...parsed.output, ...memory])] : memory;\n };\n return {\n has: (id) => read().includes(id),\n add(ids) {\n memory = [...new Set([...read(), ...ids])].slice(-SEEN_LIMIT);\n try {\n storage.setItem(SEEN_KEY, JSON.stringify(memory));\n } catch (error) {\n if (!(error instanceof DOMException)) throw error;\n }\n },\n };\n}\n\nconst MEASURE_STYLE: CSSProperties = { visibility: \"hidden\", left: 0, top: 0 };\n\n/** 新建议数:可保存且还没看过。 */\nfunction unseen(inbox: InboxView | null, seen: SeenStore): number {\n if (inbox === null) return 0;\n return inbox.items.filter((item) => item.state === \"ready\" && !seen.has(item.id)).length;\n}\n\ninterface CardProps {\n readonly item: ItemView;\n readonly now: number;\n readonly t: ScoutTranslate;\n readonly onOpen: (id: string) => void;\n readonly onDismiss?: ((id: string) => void) | undefined;\n}\n\nfunction Card({ item, now, t, onOpen, onDismiss }: CardProps): ReactNode {\n const title = titleOf(item);\n const showState = item.state !== \"ready\";\n return (\n <li className={styles.card} data-state={item.state}>\n <button\n type=\"button\"\n className={styles.open}\n data-item={item.id}\n onClick={() => onOpen(item.id)}\n >\n <span className={styles.cardTitle}>{title}</span>\n <span className={styles.cardMeta}>\n {showState && <span className={styles.state}>{t(`state.${item.state}`)}</span>}\n <span>{metaOf(t, item, now)}</span>\n </span>\n </button>\n {onDismiss !== undefined && (\n <button\n type=\"button\"\n className={styles.dismiss}\n aria-label={`${t(\"action.dismiss\")}: ${title}`}\n title={t(\"action.dismiss\")}\n onClick={() => onDismiss(item.id)}\n >\n <IconCloseOutlineRegular size={12} />\n </button>\n )}\n </li>\n );\n}\n\ninterface PanelBodyProps {\n readonly inbox: InboxView;\n readonly now: number;\n readonly t: ScoutTranslate;\n readonly onOpen: (id: string) => void;\n readonly onDismiss: (id: string) => void;\n}\n\nfunction Banner({\n inbox,\n t,\n}: {\n readonly inbox: InboxView;\n readonly t: ScoutTranslate;\n}): ReactNode {\n const { status } = inbox;\n const pending = inbox.items.some((item) => item.state === \"detected\" || item.state === \"failed\");\n let key: \"banner.noModel\" | \"banner.discoveryOff\" | \"banner.secondary\" | null = null;\n if (!status.discovery) key = \"banner.discoveryOff\";\n else if (status.model === null && pending) key = \"banner.noModel\";\n else if (!status.lead) key = \"banner.secondary\";\n if (key === null) return null;\n return <p className={styles.banner}>{t(key)}</p>;\n}\n\nfunction PanelBody({ inbox, now, t, onOpen, onDismiss }: PanelBodyProps): ReactNode {\n const [history, setHistory] = useState(false);\n const groups = groupItems(inbox.items);\n if (groups.ready.length === 0 && groups.found.length === 0 && groups.history.length === 0) {\n return (\n <div className={styles.empty}>\n <Banner inbox={inbox} t={t} />\n <p className={styles.emptyTitle}>{t(\"panel.empty.title\")}</p>\n <p className={styles.emptyBody}>{t(\"panel.empty.body\")}</p>\n <p className={styles.caption}>\n {t(\"panel.analyzed\", { sessions: inbox.status.analyzed.sessions })}\n </p>\n </div>\n );\n }\n const section = (\n key: \"section.ready\" | \"section.found\",\n items: readonly ItemView[],\n ): ReactNode =>\n items.length === 0 ? null : (\n <section className={styles.section} aria-label={t(key)}>\n <h3 className={styles.sectionTitle}>{t(key)}</h3>\n <ul className={styles.list}>\n {items.map((item) => (\n <Card\n key={item.id}\n item={item}\n now={now}\n t={t}\n onOpen={onOpen}\n onDismiss={item.state === \"reviewing\" ? undefined : onDismiss}\n />\n ))}\n </ul>\n </section>\n );\n return (\n <>\n <Banner inbox={inbox} t={t} />\n {section(\"section.ready\", groups.ready)}\n {section(\"section.found\", groups.found)}\n {groups.history.length > 0 && (\n <section className={styles.section}>\n <button\n type=\"button\"\n className={styles.historyToggle}\n aria-expanded={history}\n onClick={() => setHistory(!history)}\n >\n {history ? t(\"history.hide\") : t(\"history.show\", { count: groups.history.length })}\n </button>\n {history && (\n <ul className={styles.list}>\n {groups.history.map((item) => (\n <Card key={item.id} item={item} now={now} t={t} onOpen={onOpen} />\n ))}\n </ul>\n )}\n </section>\n )}\n </>\n );\n}\n\n/** 标题栏入口与收件箱浮层。 */\nexport function InboxEntry({\n inbox,\n seen,\n loadDetail,\n openSession,\n t,\n}: InboxEntryProps): ReactNode {\n const state = useSnapshot(inbox);\n const [open, setOpen] = useState(false);\n const [now, setNow] = useState(() => Date.now());\n const [detailId, setDetailId] = useState<string | null>(null);\n /** 详情关闭、收件箱重新打开后要聚焦的卡片。 */\n const [returnTo, setReturnTo] = useState<string | null>(null);\n const [, setSeenVersion] = useState(0);\n const rootRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const panelRef = useRef<HTMLDivElement>(null);\n const position = useAnchoredPosition({\n open,\n anchorRef: triggerRef,\n panelRef,\n side: \"bottom\",\n gap: 5,\n margin: 16,\n });\n useDismissOnOutsidePointer(rootRef, open && detailId === null, setOpen, panelRef);\n\n // 从详情回到收件箱时,焦点落回刚才那张卡片;卡片已移走时落在浮层上,Escape 照常可用。\n useEffect(() => {\n if (!open || returnTo === null || position === null) return;\n const panelElement = panelRef.current;\n const card = panelElement?.querySelector<HTMLElement>(`[data-item=\"${CSS.escape(returnTo)}\"]`);\n (card ?? panelElement)?.focus();\n }, [open, returnTo, position]);\n\n // 收件箱开着时出现的可保存建议也算看过。\n useEffect(() => {\n if (!open || state.inbox === null) return;\n const ready = state.inbox.items.filter((item) => item.state === \"ready\").map((item) => item.id);\n if (ready.some((id) => !seen.has(id))) seen.add(ready);\n }, [open, state.inbox, seen]);\n\n if (state.inbox === null && state.status !== \"error\") return null;\n\n const fresh = unseen(state.inbox, seen);\n const badge = state.inbox?.status.notify === \"badge\" && fresh > 0;\n const label =\n fresh === 0\n ? t(\"entry.label\")\n : t(fresh === 1 ? \"entry.count.one\" : \"entry.count.other\", { count: fresh });\n const working =\n state.inbox !== null && (state.inbox.status.scanning || state.inbox.status.reviewing !== null);\n\n /** 打开收件箱:刷新状态,并把当前的可保存建议记为看过。 */\n const show = (): void => {\n const ready =\n state.inbox?.items.filter((item) => item.state === \"ready\").map((item) => item.id) ?? [];\n seen.add(ready);\n setSeenVersion((version) => version + 1);\n setNow(Date.now());\n setOpen(true);\n void inbox.refresh();\n };\n const close = (): void => {\n setOpen(false);\n setReturnTo(null);\n setSeenVersion((version) => version + 1);\n triggerRef.current?.focus();\n };\n const onKeyDown = (event: KeyboardEvent<HTMLElement>): void => {\n if (event.key !== \"Escape\" || !open || detailId !== null) return;\n event.preventDefault();\n close();\n };\n const openDetail = (id: string): void => {\n setOpen(false);\n setDetailId(id);\n };\n const closeDetail = (): void => {\n setReturnTo(detailId);\n setDetailId(null);\n show();\n };\n const dismiss = (id: string): void => {\n void inbox.act(\n { action: \"dismiss\", id, similar: false },\n { key: \"notice.dismissed\", params: {}, undo: { action: \"restore\", id } },\n );\n };\n\n const detailItem =\n detailId === null ? undefined : state.inbox?.items.find((item) => item.id === detailId);\n const notice = state.notice;\n\n const panel = open\n ? createPortal(\n <div\n ref={panelRef}\n className={styles.panel}\n style={position ?? MEASURE_STYLE}\n role=\"dialog\"\n aria-label={t(\"panel.title\")}\n tabIndex={-1}\n onKeyDown={onKeyDown}\n >\n <div className={styles.head}>\n <h2 className={styles.title}>{t(\"panel.title\")}</h2>\n {working && (\n <span className={styles.working} role=\"status\">\n {state.inbox?.status.reviewing === null\n ? t(\"panel.analyzing\")\n : t(\"panel.reviewing\")}\n </span>\n )}\n </div>\n <div className={styles.scroll}>\n {state.status === \"error\" && (\n <div className={styles.errorRow} role=\"alert\">\n <span>{t(\"panel.error\")}</span>\n <button type=\"button\" className={styles.link} onClick={() => void inbox.refresh()}>\n {t(\"panel.retry\")}\n </button>\n </div>\n )}\n {state.inbox === null && state.status === \"loading\" && (\n <p className={styles.caption} role=\"status\">\n {t(\"panel.loading\")}\n </p>\n )}\n {state.inbox !== null && (\n <PanelBody\n inbox={state.inbox}\n now={now}\n t={t}\n onOpen={openDetail}\n onDismiss={dismiss}\n />\n )}\n </div>\n {notice !== null && (\n <div className={styles.notice} role=\"status\">\n <span className={styles.noticeText}>{t(notice.key, notice.params)}</span>\n {notice.undo !== null && (\n <button\n type=\"button\"\n className={styles.link}\n onClick={() => {\n const action = notice.undo;\n inbox.clearNotice();\n if (action !== null) void inbox.act(action);\n }}\n >\n {t(\"notice.undo\")}\n </button>\n )}\n </div>\n )}\n </div>,\n document.body,\n )\n : null;\n\n return (\n <div ref={rootRef} className={styles.root} onKeyDown={onKeyDown}>\n <button\n ref={triggerRef}\n type=\"button\"\n className={styles.trigger}\n aria-label={label}\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n title={t(\"entry.label\")}\n onClick={() => (open ? close() : show())}\n >\n <IconSkillOutlineRegular size={16} />\n {badge && (\n <span className={styles.badge} aria-hidden=\"true\">\n {fresh > 9 ? \"9+\" : fresh}\n </span>\n )}\n </button>\n {panel}\n {detailId !== null && detailItem !== undefined && (\n <Detail\n id={detailId}\n item={detailItem}\n inbox={inbox}\n loadDetail={loadDetail}\n modelName={state.inbox?.status.model?.model ?? null}\n defaultScope={state.inbox?.status.scope ?? \"project\"}\n openSession={openSession}\n t={t}\n onClose={closeDetail}\n />\n )}\n </div>\n );\n}\n","/**\n * 插件界面文案,注册到 DSH 的 locale 服务;Slot 登记声明 `locale: SCOUT_LOCALE` 后组件收到 `t`。\n * 两种语言的键完全一致。\n */\nimport type { Locale, Translate } from \"./dsh.ts\";\n\nexport const SCOUT_LOCALE = \"agent-stash-skill-scout\";\n\nconst EN = {\n \"entry.label\": \"Skill suggestions\",\n \"entry.count.one\": \"Skill suggestions, {count} new\",\n \"entry.count.other\": \"Skill suggestions, {count} new\",\n \"panel.title\": \"Skill suggestions\",\n \"panel.analyzing\": \"Analyzing sessions\",\n \"panel.reviewing\": \"Reviewing\",\n \"panel.loading\": \"Loading\",\n \"panel.error\": \"Could not load suggestions.\",\n \"panel.retry\": \"Retry\",\n \"panel.empty.title\": \"No suggestions\",\n \"panel.empty.body\":\n \"A suggestion appears when a workflow repeats across sessions or a fix passes a check.\",\n \"panel.analyzed\": \"{sessions} sessions analyzed\",\n \"section.ready\": \"Ready to save\",\n \"section.found\": \"Found locally\",\n \"history.show\": \"History ({count})\",\n \"history.hide\": \"Hide history\",\n \"banner.noModel\": \"No review model is available. Choose one in Skill Scout settings.\",\n \"banner.reviewOff\": \"Background review is off. Open a finding to review it.\",\n \"banner.discoveryOff\": \"Session analysis is off.\",\n \"banner.secondary\": \"Another DSH window is analyzing sessions.\",\n \"notice.dismissed\": \"Dismissed\",\n \"notice.dismissedSimilar\": \"Dismissed this and similar suggestions\",\n \"notice.restored\": \"Restored\",\n \"notice.written\": \"Saved {skill}\",\n \"notice.undone\": \"Undid the change to {skill}\",\n \"notice.undo\": \"Undo\",\n \"kind.repeated\": \"Repeated workflow\",\n \"kind.recovery\": \"Verified fix\",\n \"kind.complex\": \"Long verified task\",\n \"meta.sessions.one\": \"{count} session\",\n \"meta.sessions.other\": \"{count} sessions\",\n \"state.detected\": \"Not reviewed\",\n \"state.reviewing\": \"Reviewing\",\n \"state.ready\": \"Ready\",\n \"state.skipped\": \"Not worth saving\",\n \"state.failed\": \"Review failed\",\n \"state.dismissed\": \"Dismissed\",\n \"state.written\": \"Saved\",\n \"time.now\": \"just now\",\n \"time.minutes\": \"{count} min ago\",\n \"time.hours\": \"{count} h ago\",\n \"time.days\": \"{count} d ago\",\n \"detail.close\": \"Close\",\n \"detail.tab.evidence\": \"Evidence\",\n \"detail.tab.skill\": \"Skill\",\n \"detail.tab.changes\": \"Changes\",\n \"detail.tabs\": \"Suggestion sections\",\n \"detail.why\": \"Why\",\n \"detail.loading\": \"Loading the evidence\",\n \"detail.error\": \"Could not load this suggestion.\",\n \"detail.reviewedBy\": \"Reviewed by {model}\",\n \"detail.local\": \"Found by local rules from tool results. Not reviewed yet.\",\n \"detail.reviewNote\":\n \"Review sends a redacted summary of {count} tasks to {model}: requests, commands, exit codes, and one error line per failed command.\",\n \"detail.review\": \"Review with model\",\n \"detail.reviewing\": \"Reviewing with {model}\",\n \"detail.noModel\": \"No review model is available.\",\n \"detail.skipped\": \"The review found nothing worth saving.\",\n \"detail.failed\": \"Review failed: {kind}\",\n \"detail.retry\": \"Review again\",\n \"detail.openSession\": \"Open session\",\n \"detail.cautions\": \"Check before saving: {list}\",\n \"failure.timeout\": \"timed out\",\n \"failure.model\": \"model error\",\n \"failure.format\": \"the reply did not match the expected format\",\n \"failure.evidence\": \"the reply was not supported by the evidence\",\n \"failure.unsafe\": \"the reply contained unsafe content\",\n \"outcome.verified\": \"Check passed\",\n \"outcome.succeeded\": \"Succeeded\",\n \"outcome.unverified\": \"Unverified\",\n \"outcome.disputed\": \"User disagreed\",\n \"outcome.failed\": \"Failed\",\n \"outcome.aborted\": \"Cancelled\",\n \"role.verify\": \"check passed\",\n \"role.failure\": \"failed\",\n \"role.fix\": \"fix\",\n \"role.recovered\": \"passed after fix\",\n \"role.cited\": \"cited\",\n \"evidence.reads.one\": \"{count} read not shown\",\n \"evidence.reads.other\": \"{count} reads not shown\",\n \"evidence.exit\": \"exit {code}\",\n \"evidence.followup\": \"Next message\",\n \"evidence.list\": \"Operations in task {ref}\",\n \"caution.sudo\": \"uses sudo\",\n \"caution.force-push\": \"force-pushes\",\n \"caution.no-verify\": \"skips hooks\",\n \"caution.chmod-777\": \"chmod 777\",\n \"caution.recursive-delete\": \"deletes recursively\",\n \"skill.name\": \"Name\",\n \"skill.description\": \"Description\",\n \"skill.whenToUse\": \"When to use\",\n \"skill.body\": \"Instructions\",\n \"skill.edit\": \"Edit\",\n \"skill.preview\": \"Preview\",\n \"skill.reset\": \"Reset\",\n \"skill.invalid\":\n \"Name must be lowercase words joined by hyphens; description and instructions are required.\",\n \"skill.section\": \"Section added to {skill}\",\n \"skill.notWritable\":\n \"{skill} is not in a project or user Skill folder, so Skill Scout cannot change it.\",\n \"changes.loading\": \"Preparing the file\",\n \"changes.error\": \"Could not prepare the file: {error}\",\n \"changes.exists\": \"A file already exists at this path.\",\n \"scope.label\": \"Save to\",\n \"scope.project\": \"Project\",\n \"scope.user\": \"User\",\n \"action.save\": \"Save Skill\",\n \"action.improve\": \"Add to {skill}\",\n \"action.saving\": \"Saving\",\n \"action.dismiss\": \"Dismiss\",\n \"action.dismissSimilar\": \"Dismiss similar\",\n \"action.restore\": \"Restore\",\n \"action.undo\": \"Undo\",\n \"action.done\": \"Done\",\n \"written.path\": \"Saved to {path}\",\n \"written.discovered\": \"DSH lists the Skill.\",\n \"written.checking\": \"Waiting for DSH to list the Skill.\",\n \"written.missing\": \"DSH does not list the Skill yet. Check the file.\",\n \"error.invalid\": \"This action does not apply to the suggestion in its current state.\",\n \"error.missing\": \"The suggestion no longer exists.\",\n \"error.busy\": \"Another review is running. Try again when it finishes.\",\n \"error.no-model\": \"No review model is available.\",\n \"error.exists\": \"A Skill file already exists at that path.\",\n \"error.changed\": \"The file changed after the preview. Nothing was written.\",\n \"error.outside\": \"The target is outside the project and user Skill folders.\",\n \"error.unsafe\": \"The content contains a credential. Remove it and try again.\",\n \"error.request\": \"The request failed: {error}\",\n \"code.copy\": \"Copy\",\n \"code.copied\": \"Copied\",\n \"code.label\": \"Code\",\n \"code.wrap\": \"Wrap lines\",\n \"code.unwrap\": \"Do not wrap lines\",\n \"code.footnotes\": \"Footnotes\",\n \"diff.collapse\": \"Collapse\",\n \"diff.collapseAria\": \"Collapse the diff\",\n \"diff.expand\": \"Show {count} more lines\",\n \"settings.summary\": \"Suggests Skills from workflows that worked in finished sessions.\",\n \"settings.unavailable\": \"Settings are not available.\",\n \"settings.readOnly\": \"This profile is read-only.\",\n \"settings.saveFailed\": \"Could not save. The settings changed elsewhere or the write was refused.\",\n \"settings.save\": \"Save\",\n \"settings.saving\": \"Saving\",\n \"settings.section.discovery\": \"Discovery\",\n \"settings.section.review\": \"Model review\",\n \"settings.section.limits\": \"Limits\",\n \"settings.section.privacy\": \"Privacy\",\n \"settings.section.inbox\": \"Inbox\",\n \"settings.discovery\": \"Analyze finished sessions\",\n \"settings.discoveryHint\":\n \"Runs on this machine and reads only the session logs DSH already keeps.\",\n \"settings.review\": \"Review in the background\",\n \"settings.reviewHint\":\n \"Sends redacted evidence of strong findings to the review model. When off, a review runs only when you ask for one.\",\n \"settings.model\": \"Review model\",\n \"settings.modelHint\": \"The default follows the Agent's default model.\",\n \"settings.modelDefault\": \"Default ({model})\",\n \"settings.modelDefaultUnknown\": \"Default model\",\n \"settings.modelLoading\": \"Loading models\",\n \"settings.modelError\": \"Could not load the model list.\",\n \"settings.modelMissing\": \"{model} (not available)\",\n \"settings.effort\": \"Reasoning effort\",\n \"settings.effortHint\": \"Lower effort is cheaper and faster.\",\n \"settings.effortDefault\": \"Model default\",\n \"settings.timeout\": \"Timeout\",\n \"settings.timeoutHint\": \"Seconds before a review is abandoned.\",\n \"settings.dailyReviews\": \"Reviews per day\",\n \"settings.dailyReviewsHint\": \"Background reviews allowed each day.\",\n \"settings.reviewInterval\": \"Review interval\",\n \"settings.reviewIntervalHint\": \"Minutes between background reviews.\",\n \"settings.quietPeriod\": \"Quiet period\",\n \"settings.quietPeriodHint\": \"Minutes a session stays idle before it is analyzed.\",\n \"settings.historyDays\": \"History\",\n \"settings.historyDaysHint\": \"Days of past sessions to analyze.\",\n \"settings.maxSessions\": \"Startup scan\",\n \"settings.maxSessionsHint\": \"Past sessions read when DSH starts.\",\n \"settings.minOccurrences\": \"Repeats needed\",\n \"settings.minOccurrencesHint\": \"Independent sessions before a repeated workflow counts.\",\n \"settings.evidenceBudget\": \"Evidence budget\",\n \"settings.evidenceBudgetHint\": \"Characters of evidence sent with one review.\",\n \"settings.readOutput\": \"Include error lines\",\n \"settings.readOutputHint\": \"Keep one redacted line from each failed command as evidence.\",\n \"settings.redactPatterns\": \"Extra redaction\",\n \"settings.redactPatternsHint\":\n \"One regular expression per line. Matches are replaced before anything is stored or sent.\",\n \"settings.redactInvalid\": \"Line {line} is not a valid regular expression.\",\n \"settings.notify\": \"Header badge\",\n \"settings.notifyHint\": \"Show the number of new suggestions on the header icon.\",\n \"settings.notify.badge\": \"Count\",\n \"settings.notify.quiet\": \"Icon only\",\n \"settings.scope\": \"New Skills go to\",\n \"settings.scopeHint\": \"Project: .agents/skills in the repository. User: ~/.agents/skills.\",\n \"settings.prompt\": \"Review guidance\",\n \"settings.promptHint\": \"Replaces the built-in guidance. The reply format is always added.\",\n \"settings.promptPlaceholder\": \"Built-in guidance\",\n \"unit.seconds\": \"s\",\n \"unit.minutes\": \"min\",\n \"unit.days\": \"days\",\n \"unit.sessions\": \"sessions\",\n \"unit.characters\": \"chars\",\n} as const;\n\nexport type ScoutKey = keyof typeof EN;\n\nconst ZH: Record<ScoutKey, string> = {\n \"entry.label\": \"Skill 建议\",\n \"entry.count.one\": \"Skill 建议,{count} 条新建议\",\n \"entry.count.other\": \"Skill 建议,{count} 条新建议\",\n \"panel.title\": \"Skill 建议\",\n \"panel.analyzing\": \"正在分析会话\",\n \"panel.reviewing\": \"正在复核\",\n \"panel.loading\": \"正在加载\",\n \"panel.error\": \"无法加载建议。\",\n \"panel.retry\": \"重试\",\n \"panel.empty.title\": \"暂无建议\",\n \"panel.empty.body\": \"同一流程在多个会话里重复出现,或某次修复经检查命令验证后,这里会出现建议。\",\n \"panel.analyzed\": \"已分析 {sessions} 个会话\",\n \"section.ready\": \"可以保存\",\n \"section.found\": \"本地发现\",\n \"history.show\": \"历史({count})\",\n \"history.hide\": \"收起历史\",\n \"banner.noModel\": \"没有可用的复核模型,请在经验提炼的设置里选择。\",\n \"banner.reviewOff\": \"后台复核已关闭,打开一条发现即可手动复核。\",\n \"banner.discoveryOff\": \"会话分析已关闭。\",\n \"banner.secondary\": \"另一个 DSH 窗口正在分析会话。\",\n \"notice.dismissed\": \"已忽略\",\n \"notice.dismissedSimilar\": \"已忽略这条及类似建议\",\n \"notice.restored\": \"已恢复\",\n \"notice.written\": \"已保存 {skill}\",\n \"notice.undone\": \"已撤销对 {skill} 的改动\",\n \"notice.undo\": \"撤销\",\n \"kind.repeated\": \"重复流程\",\n \"kind.recovery\": \"已验证的修复\",\n \"kind.complex\": \"经验证的长任务\",\n \"meta.sessions.one\": \"{count} 个会话\",\n \"meta.sessions.other\": \"{count} 个会话\",\n \"state.detected\": \"未复核\",\n \"state.reviewing\": \"复核中\",\n \"state.ready\": \"可以保存\",\n \"state.skipped\": \"不值得保存\",\n \"state.failed\": \"复核失败\",\n \"state.dismissed\": \"已忽略\",\n \"state.written\": \"已保存\",\n \"time.now\": \"刚刚\",\n \"time.minutes\": \"{count} 分钟前\",\n \"time.hours\": \"{count} 小时前\",\n \"time.days\": \"{count} 天前\",\n \"detail.close\": \"关闭\",\n \"detail.tab.evidence\": \"证据\",\n \"detail.tab.skill\": \"Skill\",\n \"detail.tab.changes\": \"改动\",\n \"detail.tabs\": \"建议的内容\",\n \"detail.why\": \"理由\",\n \"detail.loading\": \"正在加载证据\",\n \"detail.error\": \"无法加载这条建议。\",\n \"detail.reviewedBy\": \"由 {model} 复核\",\n \"detail.local\": \"由本地规则依据工具结果发现,尚未复核。\",\n \"detail.reviewNote\":\n \"复核会把 {count} 个任务的脱敏摘要发给 {model}:用户请求、命令、退出码,以及每条失败命令的一行错误输出。\",\n \"detail.review\": \"用模型复核\",\n \"detail.reviewing\": \"{model} 正在复核\",\n \"detail.noModel\": \"没有可用的复核模型。\",\n \"detail.skipped\": \"复核认为没有值得保存的内容。\",\n \"detail.failed\": \"复核失败:{kind}\",\n \"detail.retry\": \"重新复核\",\n \"detail.openSession\": \"打开会话\",\n \"detail.cautions\": \"保存前请确认:{list}\",\n \"failure.timeout\": \"超时\",\n \"failure.model\": \"模型出错\",\n \"failure.format\": \"回复格式不符合约定\",\n \"failure.evidence\": \"回复没有证据支持\",\n \"failure.unsafe\": \"回复含有不安全的内容\",\n \"outcome.verified\": \"检查通过\",\n \"outcome.succeeded\": \"已完成\",\n \"outcome.unverified\": \"未验证\",\n \"outcome.disputed\": \"用户表示不对\",\n \"outcome.failed\": \"失败\",\n \"outcome.aborted\": \"已取消\",\n \"role.verify\": \"检查通过\",\n \"role.failure\": \"失败\",\n \"role.fix\": \"修复\",\n \"role.recovered\": \"修复后通过\",\n \"role.cited\": \"被引用\",\n \"evidence.reads.one\": \"另有 {count} 次读取未列出\",\n \"evidence.reads.other\": \"另有 {count} 次读取未列出\",\n \"evidence.exit\": \"退出码 {code}\",\n \"evidence.followup\": \"下一条消息\",\n \"evidence.list\": \"任务 {ref} 的操作\",\n \"caution.sudo\": \"使用 sudo\",\n \"caution.force-push\": \"强制推送\",\n \"caution.no-verify\": \"跳过钩子\",\n \"caution.chmod-777\": \"chmod 777\",\n \"caution.recursive-delete\": \"递归删除\",\n \"skill.name\": \"名称\",\n \"skill.description\": \"描述\",\n \"skill.whenToUse\": \"适用场景\",\n \"skill.body\": \"内容\",\n \"skill.edit\": \"编辑\",\n \"skill.preview\": \"预览\",\n \"skill.reset\": \"还原\",\n \"skill.invalid\": \"名称只能是用连字符连接的小写单词;描述与内容不能为空。\",\n \"skill.section\": \"追加到 {skill} 的内容\",\n \"skill.notWritable\": \"{skill} 不在项目或用户的 Skill 目录里,经验提炼无法修改它。\",\n \"changes.loading\": \"正在生成文件\",\n \"changes.error\": \"无法生成文件:{error}\",\n \"changes.exists\": \"这个路径已经有文件。\",\n \"scope.label\": \"保存到\",\n \"scope.project\": \"项目\",\n \"scope.user\": \"用户\",\n \"action.save\": \"保存 Skill\",\n \"action.improve\": \"追加到 {skill}\",\n \"action.saving\": \"正在保存\",\n \"action.dismiss\": \"忽略\",\n \"action.dismissSimilar\": \"忽略类似建议\",\n \"action.restore\": \"恢复\",\n \"action.undo\": \"撤销\",\n \"action.done\": \"完成\",\n \"written.path\": \"已保存到 {path}\",\n \"written.discovered\": \"DSH 已列出这个 Skill。\",\n \"written.checking\": \"正在等 DSH 列出这个 Skill。\",\n \"written.missing\": \"DSH 还没有列出这个 Skill,请检查文件。\",\n \"error.invalid\": \"这条建议当前的状态不支持这个操作。\",\n \"error.missing\": \"这条建议已不存在。\",\n \"error.busy\": \"另一条建议正在复核,完成后再试。\",\n \"error.no-model\": \"没有可用的复核模型。\",\n \"error.exists\": \"这个路径已经有 Skill 文件。\",\n \"error.changed\": \"预览之后文件被改过,没有写入任何内容。\",\n \"error.outside\": \"目标不在项目或用户的 Skill 目录里。\",\n \"error.unsafe\": \"内容里有凭据,删除后再试。\",\n \"error.request\": \"请求失败:{error}\",\n \"code.copy\": \"复制\",\n \"code.copied\": \"已复制\",\n \"code.label\": \"代码\",\n \"code.wrap\": \"自动换行\",\n \"code.unwrap\": \"不换行\",\n \"code.footnotes\": \"脚注\",\n \"diff.collapse\": \"收起\",\n \"diff.collapseAria\": \"收起改动\",\n \"diff.expand\": \"展开其余 {count} 行\",\n \"settings.summary\": \"从已结束会话里做成过的流程中提炼 Skill 建议。\",\n \"settings.unavailable\": \"设置不可用。\",\n \"settings.readOnly\": \"当前 profile 是只读的。\",\n \"settings.saveFailed\": \"保存失败:设置已在别处改动,或写入被拒绝。\",\n \"settings.save\": \"保存\",\n \"settings.saving\": \"正在保存\",\n \"settings.section.discovery\": \"发现\",\n \"settings.section.review\": \"模型复核\",\n \"settings.section.limits\": \"限额\",\n \"settings.section.privacy\": \"隐私\",\n \"settings.section.inbox\": \"收件箱\",\n \"settings.discovery\": \"分析已结束的会话\",\n \"settings.discoveryHint\": \"在本机运行,只读取 DSH 已保存的会话日志。\",\n \"settings.review\": \"后台复核\",\n \"settings.reviewHint\": \"把较强发现的脱敏证据发给复核模型。关闭时只在你手动要求时复核。\",\n \"settings.model\": \"复核模型\",\n \"settings.modelHint\": \"默认跟随 Agent 的默认模型。\",\n \"settings.modelDefault\": \"默认({model})\",\n \"settings.modelDefaultUnknown\": \"默认模型\",\n \"settings.modelLoading\": \"正在加载模型\",\n \"settings.modelError\": \"无法加载模型列表。\",\n \"settings.modelMissing\": \"{model}(不可用)\",\n \"settings.effort\": \"推理强度\",\n \"settings.effortHint\": \"强度越低,越便宜也越快。\",\n \"settings.effortDefault\": \"模型默认\",\n \"settings.timeout\": \"超时\",\n \"settings.timeoutHint\": \"单次复核等待的秒数。\",\n \"settings.dailyReviews\": \"每日复核次数\",\n \"settings.dailyReviewsHint\": \"每天允许的后台复核次数。\",\n \"settings.reviewInterval\": \"复核间隔\",\n \"settings.reviewIntervalHint\": \"两次后台复核之间的分钟数。\",\n \"settings.quietPeriod\": \"静默期\",\n \"settings.quietPeriodHint\": \"会话空闲多少分钟后开始分析。\",\n \"settings.historyDays\": \"历史范围\",\n \"settings.historyDaysHint\": \"分析最近多少天的会话。\",\n \"settings.maxSessions\": \"启动时扫描\",\n \"settings.maxSessionsHint\": \"DSH 启动时读取的历史会话数。\",\n \"settings.minOccurrences\": \"重复次数\",\n \"settings.minOccurrencesHint\": \"重复流程至少要出现在多少个独立会话里。\",\n \"settings.evidenceBudget\": \"证据上限\",\n \"settings.evidenceBudgetHint\": \"单次复核发送的证据字符数。\",\n \"settings.readOutput\": \"包含错误行\",\n \"settings.readOutputHint\": \"每条失败命令保留一行脱敏后的输出作为证据。\",\n \"settings.redactPatterns\": \"追加脱敏规则\",\n \"settings.redactPatternsHint\": \"每行一个正则表达式,匹配内容在存储与发送前被替换。\",\n \"settings.redactInvalid\": \"第 {line} 行不是有效的正则表达式。\",\n \"settings.notify\": \"标题栏角标\",\n \"settings.notifyHint\": \"在标题栏图标上显示新建议的数量。\",\n \"settings.notify.badge\": \"显示数量\",\n \"settings.notify.quiet\": \"只显示图标\",\n \"settings.scope\": \"新 Skill 保存到\",\n \"settings.scopeHint\": \"项目:仓库里的 .agents/skills。用户:~/.agents/skills。\",\n \"settings.prompt\": \"复核要求\",\n \"settings.promptHint\": \"替换内置的判断标准,回复格式的约定始终保留。\",\n \"settings.promptPlaceholder\": \"内置的判断标准\",\n \"unit.seconds\": \"秒\",\n \"unit.minutes\": \"分钟\",\n \"unit.days\": \"天\",\n \"unit.sessions\": \"个\",\n \"unit.characters\": \"字符\",\n};\n\n/** 两种语言的字典。 */\nexport const SCOUT_DICTIONARIES: Readonly<Record<\"en\" | \"zh\", Readonly<Record<ScoutKey, string>>>> =\n {\n en: EN,\n zh: ZH,\n };\n\n/** 组件收到的 `t`:键限定在本插件的字典里。 */\nexport type ScoutTranslate = Translate<ScoutKey>;\n\n/** 注册两种语言的字典,返回注销函数。 */\nexport function registerLocale(locale: Locale): () => void {\n const disposers = Object.entries(SCOUT_DICTIONARIES).map(([language, dictionary]) =>\n locale.register(SCOUT_LOCALE, language, { ...dictionary }),\n );\n return () => {\n for (const dispose of disposers) dispose();\n };\n}\n","/**\n * 插件页里经验提炼条目的配置页。改动先暂存,点保存才按读到的版本号写回 profile;\n * 写入被拒绝或传输失败时保留暂存值并提示。复核模型从 Host 的模型目录里选,\n * 留空时跟随 Agent 的默认模型。\n */\nimport { SegmentedControl, SettingsForm, Switch } from \"@deepseek-ai/dsh-client-ui-primitives\";\nimport { useId, useState, type ReactNode } from \"react\";\nimport * as v from \"valibot\";\nimport type { ConfigPathOp, JsonValue, ModelCatalog, Observable, RowConfigProps } from \"./dsh.ts\";\nimport { useSnapshot } from \"./hooks.ts\";\nimport type { ScoutKey, ScoutTranslate } from \"./locale.ts\";\nimport styles from \"./settings.module.css\";\n\n/** 设置页的值;与 Host 的 `Config` 字段一一对应。 */\nexport interface SettingsValue {\n readonly discovery: boolean;\n readonly review: boolean;\n readonly provider: string;\n readonly model: string;\n readonly effort: string;\n readonly timeout: number;\n readonly dailyReviews: number;\n readonly reviewInterval: number;\n readonly quietPeriod: number;\n readonly historyDays: number;\n readonly maxSessions: number;\n readonly minOccurrences: number;\n readonly evidenceBudget: number;\n readonly readOutput: boolean;\n readonly redactPatterns: readonly string[];\n readonly notify: \"badge\" | \"quiet\";\n readonly scope: \"project\" | \"user\";\n readonly prompt: string;\n}\n\n/** 与 Host `Config` 相同的默认值。 */\nexport const DEFAULT_SETTINGS: SettingsValue = {\n discovery: true,\n review: false,\n provider: \"\",\n model: \"\",\n effort: \"\",\n timeout: 90,\n dailyReviews: 6,\n reviewInterval: 10,\n quietPeriod: 2,\n historyDays: 30,\n maxSessions: 200,\n minOccurrences: 2,\n evidenceBudget: 24000,\n readOutput: true,\n redactPatterns: [],\n notify: \"badge\",\n scope: \"project\",\n prompt: \"\",\n};\n\ntype NumberKey =\n | \"timeout\"\n | \"dailyReviews\"\n | \"reviewInterval\"\n | \"quietPeriod\"\n | \"historyDays\"\n | \"maxSessions\"\n | \"minOccurrences\"\n | \"evidenceBudget\";\n\n/** 数值字段的范围与单位,与 Host `Config` 一致。 */\nconst NUMBERS: Readonly<Record<NumberKey, { min: number; max: number; unit: ScoutKey }>> = {\n timeout: { min: 10, max: 600, unit: \"unit.seconds\" },\n dailyReviews: { min: 1, max: 100, unit: \"unit.sessions\" },\n reviewInterval: { min: 1, max: 1440, unit: \"unit.minutes\" },\n quietPeriod: { min: 0, max: 120, unit: \"unit.minutes\" },\n historyDays: { min: 1, max: 365, unit: \"unit.days\" },\n maxSessions: { min: 1, max: 2000, unit: \"unit.sessions\" },\n minOccurrences: { min: 2, max: 10, unit: \"unit.sessions\" },\n evidenceBudget: { min: 4000, max: 200000, unit: \"unit.characters\" },\n};\n\n/** 设置服务快照值的结构;缺失或类型不符的字段取默认值。 */\nconst SettingsSchema = v.object({\n discovery: v.fallback(v.boolean(), DEFAULT_SETTINGS.discovery),\n review: v.fallback(v.boolean(), DEFAULT_SETTINGS.review),\n provider: v.fallback(v.string(), DEFAULT_SETTINGS.provider),\n model: v.fallback(v.string(), DEFAULT_SETTINGS.model),\n effort: v.fallback(v.string(), DEFAULT_SETTINGS.effort),\n timeout: v.fallback(v.number(), DEFAULT_SETTINGS.timeout),\n dailyReviews: v.fallback(v.number(), DEFAULT_SETTINGS.dailyReviews),\n reviewInterval: v.fallback(v.number(), DEFAULT_SETTINGS.reviewInterval),\n quietPeriod: v.fallback(v.number(), DEFAULT_SETTINGS.quietPeriod),\n historyDays: v.fallback(v.number(), DEFAULT_SETTINGS.historyDays),\n maxSessions: v.fallback(v.number(), DEFAULT_SETTINGS.maxSessions),\n minOccurrences: v.fallback(v.number(), DEFAULT_SETTINGS.minOccurrences),\n evidenceBudget: v.fallback(v.number(), DEFAULT_SETTINGS.evidenceBudget),\n readOutput: v.fallback(v.boolean(), DEFAULT_SETTINGS.readOutput),\n redactPatterns: v.fallback(v.array(v.string()), [...DEFAULT_SETTINGS.redactPatterns]),\n notify: v.fallback(v.picklist([\"badge\", \"quiet\"]), DEFAULT_SETTINGS.notify),\n scope: v.fallback(v.picklist([\"project\", \"user\"]), DEFAULT_SETTINGS.scope),\n prompt: v.fallback(v.string(), DEFAULT_SETTINGS.prompt),\n});\n\n/** 从设置服务的快照值读出完整设置。 */\nexport function parseSettings(value: unknown): SettingsValue {\n return v.parse(SettingsSchema, typeof value === \"object\" && value !== null ? value : {});\n}\n\nconst SETTING_KEYS: readonly (keyof SettingsValue)[] = [\n \"discovery\",\n \"review\",\n \"provider\",\n \"model\",\n \"effort\",\n \"timeout\",\n \"dailyReviews\",\n \"reviewInterval\",\n \"quietPeriod\",\n \"historyDays\",\n \"maxSessions\",\n \"minOccurrences\",\n \"evidenceBudget\",\n \"readOutput\",\n \"redactPatterns\",\n \"notify\",\n \"scope\",\n \"prompt\",\n];\n\nconst NUMBER_KEYS: readonly NumberKey[] = [\n \"timeout\",\n \"dailyReviews\",\n \"reviewInterval\",\n \"quietPeriod\",\n \"historyDays\",\n \"maxSessions\",\n \"minOccurrences\",\n \"evidenceBudget\",\n];\n\n/** 暂存值与已保存值的差异,转换成写操作。 */\nexport function diffOps(saved: SettingsValue, staged: SettingsValue): ConfigPathOp[] {\n return SETTING_KEYS.flatMap((key): ConfigPathOp[] => {\n const next: JsonValue = staged[key];\n return JSON.stringify(saved[key]) === JSON.stringify(next)\n ? []\n : [{ op: \"set\", path: [key], value: next }];\n });\n}\n\n/** 正则源码能否编译。 */\nfunction compiles(source: string): boolean {\n try {\n return new RegExp(source, \"u\").source !== \"\";\n } catch (error) {\n // 校验用户输入:抛出即表示不合法。\n void error;\n return false;\n }\n}\n\n/** 每行一个正则;返回第一条不合法的行号(从 1 开始),都合法时返回 null。 */\nexport function invalidPattern(lines: readonly string[]): number | null {\n const index = lines.findIndex((line) => line.trim() !== \"\" && !compiles(line));\n return index === -1 ? null : index + 1;\n}\n\n/** 模型目录的读取状态。 */\nexport type CatalogState =\n | { readonly status: \"loading\" }\n | { readonly status: \"ready\"; readonly catalog: ModelCatalog }\n | { readonly status: \"error\" };\n\ninterface FieldProps {\n readonly id?: string;\n readonly label: string;\n readonly hint: string;\n readonly children: ReactNode;\n readonly wide?: boolean;\n}\n\nfunction Field({ id, label, hint, children, wide = false }: FieldProps): ReactNode {\n return (\n <div className={wide ? `${styles.field} ${styles.wide}` : styles.field}>\n <div className={styles.text}>\n {id === undefined ? (\n <span className={styles.label}>{label}</span>\n ) : (\n <label className={styles.label} htmlFor={id}>\n {label}\n </label>\n )}\n <span className={styles.hint}>{hint}</span>\n </div>\n <div className={styles.control}>{children}</div>\n </div>\n );\n}\n\n/** 模型选项的值:`provider\\u0000model`,空串表示默认模型。 */\nconst SEPARATOR = \"\\u0000\";\n\nfunction modelValue(provider: string, model: string): string {\n return provider === \"\" || model === \"\" ? \"\" : `${provider}${SEPARATOR}${model}`;\n}\n\ninterface ModelFieldsProps {\n readonly staged: SettingsValue;\n readonly catalog: CatalogState;\n readonly disabled: boolean;\n readonly onChange: (next: Partial<SettingsValue>) => void;\n readonly t: ScoutTranslate;\n}\n\nfunction ModelFields({ staged, catalog, disabled, onChange, t }: ModelFieldsProps): ReactNode {\n const id = useId();\n const groups = catalog.status === \"ready\" ? catalog.catalog.groups : [];\n const current = modelValue(staged.provider, staged.model);\n const fallback = catalog.status === \"ready\" ? catalog.catalog.default : null;\n const fallbackName =\n fallback === null\n ? null\n : (groups\n .find((group) => group.id === fallback.provider)\n ?.models.find((model) => model.id === fallback.model)?.name ?? fallback.model);\n const routeProvider = staged.provider === \"\" ? (fallback?.provider ?? \"\") : staged.provider;\n const routeModel = staged.model === \"\" ? (fallback?.model ?? \"\") : staged.model;\n const selected = groups\n .find((group) => group.id === routeProvider)\n ?.models.find((model) => model.id === routeModel);\n const efforts = selected?.reasoning?.efforts ?? [];\n const listed = groups.some((group) =>\n group.models.some((model) => modelValue(group.id, model.id) === current),\n );\n return (\n <>\n <Field id={`${id}-model`} label={t(\"settings.model\")} hint={t(\"settings.modelHint\")}>\n <select\n id={`${id}-model`}\n className={styles.select}\n value={current}\n disabled={disabled}\n onChange={(event) => {\n const [provider = \"\", model = \"\"] = event.target.value.split(SEPARATOR);\n onChange({ provider, model, effort: \"\" });\n }}\n >\n <option value=\"\">\n {fallbackName === null\n ? t(\"settings.modelDefaultUnknown\")\n : t(\"settings.modelDefault\", { model: fallbackName })}\n </option>\n {current !== \"\" && !listed && (\n <option value={current}>{t(\"settings.modelMissing\", { model: staged.model })}</option>\n )}\n {groups.map((group) => (\n <optgroup key={group.id} label={group.name}>\n {group.models.map((model) => (\n <option key={model.id} value={modelValue(group.id, model.id)}>\n {model.name}\n </option>\n ))}\n </optgroup>\n ))}\n </select>\n {catalog.status === \"loading\" && (\n <span className={styles.status}>{t(\"settings.modelLoading\")}</span>\n )}\n {catalog.status === \"error\" && (\n <span className={styles.status} role=\"alert\">\n {t(\"settings.modelError\")}\n </span>\n )}\n </Field>\n {efforts.length > 0 && (\n <Field id={`${id}-effort`} label={t(\"settings.effort\")} hint={t(\"settings.effortHint\")}>\n <select\n id={`${id}-effort`}\n className={styles.select}\n value={staged.effort}\n disabled={disabled}\n onChange={(event) => onChange({ effort: event.target.value })}\n >\n <option value=\"\">{t(\"settings.effortDefault\")}</option>\n {efforts.map((effort) => (\n <option key={effort.id} value={effort.id}>\n {effort.name}\n </option>\n ))}\n </select>\n </Field>\n )}\n </>\n );\n}\n\n/**\n * 创建配置页组件。\n * @param catalog - 模型目录的读取状态;页面打开时订阅。\n */\nexport function createSettingsPage(catalog: Observable<CatalogState>) {\n return function SettingsPage({ view, form, t }: RowConfigProps): ReactNode {\n const translate = t as ScoutTranslate;\n const id = useId();\n const saved = parseSettings(form?.state.value);\n const [draft, setDraft] = useState<Partial<SettingsValue>>({});\n const [patterns, setPatterns] = useState<string | null>(null);\n const [saving, setSaving] = useState(false);\n const [failed, setFailed] = useState(false);\n const models = useSnapshot(catalog);\n\n if (view === \"summary\" || form === undefined) {\n return <span>{translate(\"settings.summary\")}</span>;\n }\n\n const lines = patterns === null ? saved.redactPatterns : patterns.split(\"\\n\");\n const staged: SettingsValue = {\n ...saved,\n ...draft,\n redactPatterns: lines.map((line) => line.trim()).filter((line) => line !== \"\"),\n };\n const ops = diffOps(saved, staged);\n const badLine = invalidPattern(lines);\n const badNumber = NUMBER_KEYS.some((key) => {\n const value = staged[key];\n return !Number.isInteger(value) || value < NUMBERS[key].min || value > NUMBERS[key].max;\n });\n const writable = form.state.writable && !saving;\n const update = (next: Partial<SettingsValue>): void => {\n setDraft((current) => ({ ...current, ...next }));\n setFailed(false);\n };\n const discard = (): void => {\n setDraft({});\n setPatterns(null);\n setFailed(false);\n };\n const save = async (): Promise<void> => {\n setSaving(true);\n setFailed(false);\n try {\n const accepted = await form.mutate(ops, form.state.revision);\n if (accepted) discard();\n else setFailed(true);\n } catch (error) {\n // 传输失败与写入被拒绝一样提示,暂存值保留。\n void error;\n setFailed(true);\n } finally {\n setSaving(false);\n }\n };\n const toggle = (\n key: \"discovery\" | \"review\" | \"readOutput\",\n label: ScoutKey,\n hint: ScoutKey,\n ): ReactNode => (\n <Field label={translate(label)} hint={translate(hint)}>\n <Switch\n checked={staged[key]}\n label={translate(label)}\n disabled={!writable}\n onChange={(next) => update({ [key]: next })}\n />\n </Field>\n );\n const number = (key: NumberKey): ReactNode => {\n const range = NUMBERS[key];\n const fieldId = `${id}-${key}`;\n return (\n <Field\n id={fieldId}\n label={translate(`settings.${key}`)}\n hint={translate(`settings.${key}Hint`)}\n >\n <span className={styles.number}>\n <input\n id={fieldId}\n className={styles.input}\n type=\"number\"\n inputMode=\"numeric\"\n min={range.min}\n max={range.max}\n step={1}\n value={Number.isFinite(staged[key]) ? staged[key] : \"\"}\n disabled={!writable}\n aria-invalid={staged[key] < range.min || staged[key] > range.max || undefined}\n onChange={(event) => update({ [key]: event.target.valueAsNumber })}\n />\n <span className={styles.unit}>{translate(range.unit)}</span>\n </span>\n </Field>\n );\n };\n\n return (\n <SettingsForm\n labels={{\n unavailable: translate(\"settings.unavailable\"),\n readOnly: translate(\"settings.readOnly\"),\n saveFailed: translate(\"settings.saveFailed\"),\n save: translate(\"settings.save\"),\n saving: translate(\"settings.saving\"),\n }}\n state={{\n available: form.state.status === \"ready\",\n writable: form.state.writable,\n dirty: ops.length > 0,\n invalid: badLine !== null || badNumber,\n saving,\n failed,\n }}\n onSave={() => void save()}\n onDiscard={discard}\n >\n <div className={styles.page}>\n <section className={styles.section}>\n <h3 className={styles.title}>{translate(\"settings.section.discovery\")}</h3>\n {toggle(\"discovery\", \"settings.discovery\", \"settings.discoveryHint\")}\n {number(\"historyDays\")}\n {number(\"maxSessions\")}\n {number(\"quietPeriod\")}\n {number(\"minOccurrences\")}\n </section>\n <section className={styles.section}>\n <h3 className={styles.title}>{translate(\"settings.section.review\")}</h3>\n {toggle(\"review\", \"settings.review\", \"settings.reviewHint\")}\n <ModelFields\n staged={staged}\n catalog={models}\n disabled={!writable}\n onChange={update}\n t={translate}\n />\n {number(\"timeout\")}\n <Field\n id={`${id}-prompt`}\n label={translate(\"settings.prompt\")}\n hint={translate(\"settings.promptHint\")}\n wide\n >\n <textarea\n id={`${id}-prompt`}\n className={`${styles.input} ${styles.area}`}\n rows={4}\n placeholder={translate(\"settings.promptPlaceholder\")}\n value={staged.prompt}\n disabled={!writable}\n onChange={(event) => update({ prompt: event.target.value })}\n />\n </Field>\n </section>\n <section className={styles.section}>\n <h3 className={styles.title}>{translate(\"settings.section.limits\")}</h3>\n {number(\"dailyReviews\")}\n {number(\"reviewInterval\")}\n {number(\"evidenceBudget\")}\n </section>\n <section className={styles.section}>\n <h3 className={styles.title}>{translate(\"settings.section.privacy\")}</h3>\n {toggle(\"readOutput\", \"settings.readOutput\", \"settings.readOutputHint\")}\n <Field\n id={`${id}-redact`}\n label={translate(\"settings.redactPatterns\")}\n hint={translate(\"settings.redactPatternsHint\")}\n wide\n >\n <textarea\n id={`${id}-redact`}\n className={`${styles.input} ${styles.area} ${styles.mono}`}\n rows={3}\n spellCheck={false}\n value={patterns ?? saved.redactPatterns.join(\"\\n\")}\n disabled={!writable}\n aria-invalid={badLine !== null || undefined}\n onChange={(event) => {\n setPatterns(event.target.value);\n setFailed(false);\n }}\n />\n {badLine !== null && (\n <span className={styles.status} role=\"alert\">\n {translate(\"settings.redactInvalid\", { line: badLine })}\n </span>\n )}\n </Field>\n </section>\n <section className={styles.section}>\n <h3 className={styles.title}>{translate(\"settings.section.inbox\")}</h3>\n <Field label={translate(\"settings.notify\")} hint={translate(\"settings.notifyHint\")}>\n <SegmentedControl\n id={`${id}-notify`}\n label={translate(\"settings.notify\")}\n value={staged.notify}\n disabled={!writable}\n options={[\n { value: \"badge\", label: translate(\"settings.notify.badge\") },\n { value: \"quiet\", label: translate(\"settings.notify.quiet\") },\n ]}\n onChange={(notify) => update({ notify })}\n />\n </Field>\n <Field label={translate(\"settings.scope\")} hint={translate(\"settings.scopeHint\")}>\n <SegmentedControl\n id={`${id}-scope`}\n label={translate(\"settings.scope\")}\n value={staged.scope}\n disabled={!writable}\n options={[\n { value: \"project\", label: translate(\"scope.project\") },\n { value: \"user\", label: translate(\"scope.user\") },\n ]}\n onChange={(scope) => update({ scope })}\n />\n </Field>\n </section>\n </div>\n </SettingsForm>\n );\n };\n}\n","/**\n * 收件箱的浏览器端状态:所有会话标题栏里的入口共用一份。\n * Host 没有向插件推送事件的通道,状态靠读取刷新:有订阅者时定时读取(复核或分析进行中更频繁),\n * 页面重新获得焦点、连接重建与每次操作之后立即读取。页面隐藏时暂停定时读取。\n */\nimport type { Action, ActionResult, InboxView } from \"../shared.ts\";\nimport type { Observable } from \"./dsh.ts\";\nimport type { ScoutKey } from \"./locale.ts\";\n\n/** 进行中时的读取间隔。 */\nconst BUSY_INTERVAL = 3_000;\n/** 空闲时的读取间隔。 */\nconst IDLE_INTERVAL = 45_000;\n/** 操作提示停留的时间。 */\nconst NOTICE_TTL = 8_000;\n\n/** 一次操作之后的提示,可选带一个撤销操作。 */\nexport interface Notice {\n readonly key: ScoutKey;\n readonly params: Readonly<Record<string, string>>;\n readonly undo: Action | null;\n}\n\nexport interface InboxState {\n readonly status: \"idle\" | \"loading\" | \"ready\" | \"error\";\n readonly inbox: InboxView | null;\n readonly error: string | null;\n readonly notice: Notice | null;\n}\n\n/** 收件箱依赖的读取与写入;测试里换成本地实现。 */\nexport interface InboxTransport {\n readonly fetchInbox: () => Promise<InboxView>;\n readonly postAction: (action: Action) => Promise<ActionResult>;\n}\n\nexport interface InboxStore extends Observable<InboxState> {\n /** 立即读取一次。 */\n refresh(): Promise<void>;\n /** 提交操作;成功时可附带提示。返回 Host 的结果。 */\n act(action: Action, notice?: Notice): Promise<ActionResult>;\n /** 关闭提示。 */\n clearNotice(): void;\n /** 停止计时器与监听。 */\n dispose(): void;\n}\n\nconst INITIAL: InboxState = { status: \"idle\", inbox: null, error: null, notice: null };\n\n/** 有后台工作正在进行:分析、复核,或写入后核对 DSH 能否发现。 */\nfunction busy(inbox: InboxView | null): boolean {\n return (\n inbox !== null &&\n (inbox.status.scanning ||\n inbox.status.reviewing !== null ||\n inbox.items.some((item) => item.write?.checking === true))\n );\n}\n\n/**\n * 创建收件箱状态。\n * @param transport - 读取与写入 Host 路由的函数。\n */\nexport function createInboxStore(transport: InboxTransport): InboxStore {\n let state = INITIAL;\n const listeners = new Set<() => void>();\n let timer: ReturnType<typeof setTimeout> | undefined;\n let noticeTimer: ReturnType<typeof setTimeout> | undefined;\n let generation = 0;\n\n const set = (next: InboxState): void => {\n state = next;\n for (const listener of listeners) listener();\n };\n\n const schedule = (): void => {\n clearTimeout(timer);\n if (listeners.size === 0) return;\n timer = setTimeout(\n () => {\n if (document.visibilityState === \"hidden\") schedule();\n else void refresh();\n },\n busy(state.inbox) ? BUSY_INTERVAL : IDLE_INTERVAL,\n );\n };\n\n async function refresh(): Promise<void> {\n const current = ++generation;\n if (state.inbox === null) set({ ...state, status: \"loading\", error: null });\n try {\n const inbox = await transport.fetchInbox();\n if (current === generation) set({ ...state, status: \"ready\", inbox, error: null });\n } catch (error) {\n if (current === generation) {\n set({\n ...state,\n status: \"error\",\n error: error instanceof Error ? error.message : String(error),\n });\n }\n } finally {\n if (current === generation) schedule();\n }\n }\n\n const onFocus = (): void => {\n if (listeners.size > 0) void refresh();\n };\n\n const showNotice = (notice: Notice | null): void => {\n clearTimeout(noticeTimer);\n set({ ...state, notice });\n if (notice !== null)\n noticeTimer = setTimeout(() => set({ ...state, notice: null }), NOTICE_TTL);\n };\n\n return {\n getSnapshot: () => state,\n subscribe(listener) {\n listeners.add(listener);\n if (listeners.size === 1) {\n window.addEventListener(\"focus\", onFocus);\n void refresh();\n }\n return () => {\n listeners.delete(listener);\n if (listeners.size === 0) {\n window.removeEventListener(\"focus\", onFocus);\n clearTimeout(timer);\n }\n };\n },\n refresh,\n async act(action, notice) {\n const result = await transport.postAction(action);\n generation += 1;\n set({ ...state, status: \"ready\", inbox: result.inbox, error: null });\n if (result.ok && notice !== undefined) showNotice(notice);\n schedule();\n return result;\n },\n clearNotice() {\n showNotice(null);\n },\n dispose() {\n clearTimeout(timer);\n clearTimeout(noticeTimer);\n window.removeEventListener(\"focus\", onFocus);\n listeners.clear();\n },\n };\n}\n","/**\n * 按需加载的快照源:第一个订阅者出现时加载,之后只在 `reload` 时重新加载。\n * 加载失败由 `load` 自己写入错误状态;抛出的异常记为最后一次的失败。\n */\nimport type { Observable } from \"./dsh.ts\";\n\nexport interface SnapshotSource<T> extends Observable<T> {\n reload(): void;\n}\n\nexport function createSnapshotSource<T>(\n initial: T,\n load: (set: (value: T) => void) => Promise<void>,\n): SnapshotSource<T> {\n let value = initial;\n let loaded = false;\n let generation = 0;\n const listeners = new Set<() => void>();\n const run = (): void => {\n loaded = true;\n const current = ++generation;\n const set = (next: T): void => {\n if (current !== generation) return;\n value = next;\n for (const listener of listeners) listener();\n };\n load(set).catch(() => set(initial));\n };\n return {\n getSnapshot: () => value,\n subscribe(listener) {\n listeners.add(listener);\n if (!loaded) run();\n return () => {\n listeners.delete(listener);\n };\n },\n reload() {\n if (loaded) run();\n },\n };\n}\n","/**\n * 浏览器半部入口:注册文案、会话标题栏里的收件箱入口,以及插件页里的配置页。\n * 收件箱状态全局共用一份,所有会话的标题栏入口订阅同一个 store。\n */\nimport { PACKAGE_NAME, ROW_ID } from \"../shared.ts\";\nimport { fetchDetail, fetchInbox, postAction } from \"./api.ts\";\nimport type { ClientContext } from \"./dsh.ts\";\nimport { createSeenStore, InboxEntry, type InboxFace } from \"./inbox.tsx\";\nimport { registerLocale, SCOUT_LOCALE } from \"./locale.ts\";\nimport { createSettingsPage, type CatalogState } from \"./settings.tsx\";\nimport { createInboxStore } from \"./store.ts\";\nimport { createSnapshotSource } from \"./source.ts\";\n\n/** 宿主提醒入口的 order 是 20;本入口排在它后面。 */\nconst HEADER_ORDER = 30;\n\nexport const inject = [\"slots\", \"locale\", \"remote\", \"remote.session\"];\n\nexport function apply(ctx: ClientContext): void {\n ctx.effect(() => registerLocale(ctx.locale), \"skill-scout: locale\");\n\n const inbox = createInboxStore({ fetchInbox: () => fetchInbox(), postAction });\n ctx.effect(() => () => inbox.dispose(), \"skill-scout: inbox\");\n ctx.on(\"connection/reset\", () => void inbox.refresh());\n\n const face: InboxFace = {\n inbox,\n seen: createSeenStore(window.localStorage),\n loadDetail: (id, _version, signal) => fetchDetail(id, signal),\n openSession: (sessionId) => ctx.get(\"uiWorkspace\")?.openSession(sessionId),\n };\n ctx.slots.inject(\"conversation.session.header.utilities\", () =>\n ctx.slots.register(\n {\n name: \"conversation.session.header.utilities\",\n id: \"skill-scout-inbox\",\n order: HEADER_ORDER,\n locale: SCOUT_LOCALE,\n inject: () => face,\n },\n InboxEntry,\n ),\n );\n\n // 模型目录:配置页打开时读取,模型或 provider 变化时重读。\n const catalog = createSnapshotSource<CatalogState>({ status: \"loading\" }, async (set) => {\n const response = await ctx.remote.session.modelCatalog();\n set(response.ok ? { status: \"ready\", catalog: response.value } : { status: \"error\" });\n });\n ctx.effect(\n () => ctx.remote.$on(\"llm/adapters-updated\", () => catalog.reload()),\n \"skill-scout: adapters\",\n );\n ctx.effect(\n () => ctx.remote.$on(\"llm/models-updated\", () => catalog.reload()),\n \"skill-scout: models\",\n );\n ctx.slots.inject(\"plugins.row.config\", () =>\n ctx.slots.register(\n { name: \"plugins.row.config\", key: `${PACKAGE_NAME}#${ROW_ID}`, locale: SCOUT_LOCALE },\n createSettingsPage(catalog),\n ),\n );\n}\n"],"ignoreList":[0],"mappings":"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"}