diff options
Diffstat (limited to 'src/third-party/api/index.js')
-rw-r--r-- | src/third-party/api/index.js | 14129 |
1 files changed, 3143 insertions, 10986 deletions
diff --git a/src/third-party/api/index.js b/src/third-party/api/index.js index d85fac37d..7475a9f84 100644 --- a/src/third-party/api/index.js +++ b/src/third-party/api/index.js @@ -5,9 +5,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; -var __commonJS = (cb, mod2) => function __require() { - return mod2 || (0, cb[__getOwnPropNames(cb)[0]])((mod2 = { exports: {} }).exports, mod2), mod2.exports; -}; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); @@ -26,6912 +23,6 @@ var __toESM = (mod2, isNodeMode, target) => (target = mod2 != null ? __create(__ )); var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2); -// ../../node_modules/ajv/dist/compile/codegen/code.js -var require_code = __commonJS({ - "../../node_modules/ajv/dist/compile/codegen/code.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = void 0; - var _CodeOrName = class { - }; - exports._CodeOrName = _CodeOrName; - exports.IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i; - var Name = class extends _CodeOrName { - constructor(s) { - super(); - if (!exports.IDENTIFIER.test(s)) - throw new Error("CodeGen: name must be a valid identifier"); - this.str = s; - } - toString() { - return this.str; - } - emptyStr() { - return false; - } - get names() { - return { [this.str]: 1 }; - } - }; - exports.Name = Name; - var _Code = class extends _CodeOrName { - constructor(code) { - super(); - this._items = typeof code === "string" ? [code] : code; - } - toString() { - return this.str; - } - emptyStr() { - if (this._items.length > 1) - return false; - const item = this._items[0]; - return item === "" || item === '""'; - } - get str() { - var _a; - return (_a = this._str) !== null && _a !== void 0 ? _a : this._str = this._items.reduce((s, c) => `${s}${c}`, ""); - } - get names() { - var _a; - return (_a = this._names) !== null && _a !== void 0 ? _a : this._names = this._items.reduce((names, c) => { - if (c instanceof Name) - names[c.str] = (names[c.str] || 0) + 1; - return names; - }, {}); - } - }; - exports._Code = _Code; - exports.nil = new _Code(""); - function _(strs, ...args) { - const code = [strs[0]]; - let i = 0; - while (i < args.length) { - addCodeArg(code, args[i]); - code.push(strs[++i]); - } - return new _Code(code); - } - exports._ = _; - var plus = new _Code("+"); - function str(strs, ...args) { - const expr = [safeStringify(strs[0])]; - let i = 0; - while (i < args.length) { - expr.push(plus); - addCodeArg(expr, args[i]); - expr.push(plus, safeStringify(strs[++i])); - } - optimize(expr); - return new _Code(expr); - } - exports.str = str; - function addCodeArg(code, arg) { - if (arg instanceof _Code) - code.push(...arg._items); - else if (arg instanceof Name) - code.push(arg); - else - code.push(interpolate(arg)); - } - exports.addCodeArg = addCodeArg; - function optimize(expr) { - let i = 1; - while (i < expr.length - 1) { - if (expr[i] === plus) { - const res = mergeExprItems(expr[i - 1], expr[i + 1]); - if (res !== void 0) { - expr.splice(i - 1, 3, res); - continue; - } - expr[i++] = "+"; - } - i++; - } - } - function mergeExprItems(a, b) { - if (b === '""') - return a; - if (a === '""') - return b; - if (typeof a == "string") { - if (b instanceof Name || a[a.length - 1] !== '"') - return; - if (typeof b != "string") - return `${a.slice(0, -1)}${b}"`; - if (b[0] === '"') - return a.slice(0, -1) + b.slice(1); - return; - } - if (typeof b == "string" && b[0] === '"' && !(a instanceof Name)) - return `"${a}${b.slice(1)}`; - return; - } - function strConcat(c1, c2) { - return c2.emptyStr() ? c1 : c1.emptyStr() ? c2 : str`${c1}${c2}`; - } - exports.strConcat = strConcat; - function interpolate(x) { - return typeof x == "number" || typeof x == "boolean" || x === null ? x : safeStringify(Array.isArray(x) ? x.join(",") : x); - } - function stringify(x) { - return new _Code(safeStringify(x)); - } - exports.stringify = stringify; - function safeStringify(x) { - return JSON.stringify(x).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029"); - } - exports.safeStringify = safeStringify; - function getProperty(key) { - return typeof key == "string" && exports.IDENTIFIER.test(key) ? new _Code(`.${key}`) : _`[${key}]`; - } - exports.getProperty = getProperty; - function getEsmExportName(key) { - if (typeof key == "string" && exports.IDENTIFIER.test(key)) { - return new _Code(`${key}`); - } - throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`); - } - exports.getEsmExportName = getEsmExportName; - function regexpCode(rx) { - return new _Code(rx.toString()); - } - exports.regexpCode = regexpCode; - } -}); - -// ../../node_modules/ajv/dist/compile/codegen/scope.js -var require_scope = __commonJS({ - "../../node_modules/ajv/dist/compile/codegen/scope.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = void 0; - var code_1 = require_code(); - var ValueError = class extends Error { - constructor(name) { - super(`CodeGen: "code" for ${name} not defined`); - this.value = name.value; - } - }; - var UsedValueState; - (function(UsedValueState2) { - UsedValueState2[UsedValueState2["Started"] = 0] = "Started"; - UsedValueState2[UsedValueState2["Completed"] = 1] = "Completed"; - })(UsedValueState = exports.UsedValueState || (exports.UsedValueState = {})); - exports.varKinds = { - const: new code_1.Name("const"), - let: new code_1.Name("let"), - var: new code_1.Name("var") - }; - var Scope = class { - constructor({ prefixes, parent } = {}) { - this._names = {}; - this._prefixes = prefixes; - this._parent = parent; - } - toName(nameOrPrefix) { - return nameOrPrefix instanceof code_1.Name ? nameOrPrefix : this.name(nameOrPrefix); - } - name(prefix) { - return new code_1.Name(this._newName(prefix)); - } - _newName(prefix) { - const ng = this._names[prefix] || this._nameGroup(prefix); - return `${prefix}${ng.index++}`; - } - _nameGroup(prefix) { - var _a, _b; - if (((_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a._prefixes) === null || _b === void 0 ? void 0 : _b.has(prefix)) || this._prefixes && !this._prefixes.has(prefix)) { - throw new Error(`CodeGen: prefix "${prefix}" is not allowed in this scope`); - } - return this._names[prefix] = { prefix, index: 0 }; - } - }; - exports.Scope = Scope; - var ValueScopeName = class extends code_1.Name { - constructor(prefix, nameStr) { - super(nameStr); - this.prefix = prefix; - } - setValue(value, { property, itemIndex }) { - this.value = value; - this.scopePath = (0, code_1._)`.${new code_1.Name(property)}[${itemIndex}]`; - } - }; - exports.ValueScopeName = ValueScopeName; - var line = (0, code_1._)`\n`; - var ValueScope = class extends Scope { - constructor(opts) { - super(opts); - this._values = {}; - this._scope = opts.scope; - this.opts = { ...opts, _n: opts.lines ? line : code_1.nil }; - } - get() { - return this._scope; - } - name(prefix) { - return new ValueScopeName(prefix, this._newName(prefix)); - } - value(nameOrPrefix, value) { - var _a; - if (value.ref === void 0) - throw new Error("CodeGen: ref must be passed in value"); - const name = this.toName(nameOrPrefix); - const { prefix } = name; - const valueKey = (_a = value.key) !== null && _a !== void 0 ? _a : value.ref; - let vs = this._values[prefix]; - if (vs) { - const _name = vs.get(valueKey); - if (_name) - return _name; - } else { - vs = this._values[prefix] = /* @__PURE__ */ new Map(); - } - vs.set(valueKey, name); - const s = this._scope[prefix] || (this._scope[prefix] = []); - const itemIndex = s.length; - s[itemIndex] = value.ref; - name.setValue(value, { property: prefix, itemIndex }); - return name; - } - getValue(prefix, keyOrRef) { - const vs = this._values[prefix]; - if (!vs) - return; - return vs.get(keyOrRef); - } - scopeRefs(scopeName, values = this._values) { - return this._reduceValues(values, (name) => { - if (name.scopePath === void 0) - throw new Error(`CodeGen: name "${name}" has no value`); - return (0, code_1._)`${scopeName}${name.scopePath}`; - }); - } - scopeCode(values = this._values, usedValues, getCode) { - return this._reduceValues(values, (name) => { - if (name.value === void 0) - throw new Error(`CodeGen: name "${name}" has no value`); - return name.value.code; - }, usedValues, getCode); - } - _reduceValues(values, valueCode, usedValues = {}, getCode) { - let code = code_1.nil; - for (const prefix in values) { - const vs = values[prefix]; - if (!vs) - continue; - const nameSet = usedValues[prefix] = usedValues[prefix] || /* @__PURE__ */ new Map(); - vs.forEach((name) => { - if (nameSet.has(name)) - return; - nameSet.set(name, UsedValueState.Started); - let c = valueCode(name); - if (c) { - const def = this.opts.es5 ? exports.varKinds.var : exports.varKinds.const; - code = (0, code_1._)`${code}${def} ${name} = ${c};${this.opts._n}`; - } else if (c = getCode === null || getCode === void 0 ? void 0 : getCode(name)) { - code = (0, code_1._)`${code}${c}${this.opts._n}`; - } else { - throw new ValueError(name); - } - nameSet.set(name, UsedValueState.Completed); - }); - } - return code; - } - }; - exports.ValueScope = ValueScope; - } -}); - -// ../../node_modules/ajv/dist/compile/codegen/index.js -var require_codegen = __commonJS({ - "../../node_modules/ajv/dist/compile/codegen/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = void 0; - var code_1 = require_code(); - var scope_1 = require_scope(); - var code_2 = require_code(); - Object.defineProperty(exports, "_", { enumerable: true, get: function() { - return code_2._; - } }); - Object.defineProperty(exports, "str", { enumerable: true, get: function() { - return code_2.str; - } }); - Object.defineProperty(exports, "strConcat", { enumerable: true, get: function() { - return code_2.strConcat; - } }); - Object.defineProperty(exports, "nil", { enumerable: true, get: function() { - return code_2.nil; - } }); - Object.defineProperty(exports, "getProperty", { enumerable: true, get: function() { - return code_2.getProperty; - } }); - Object.defineProperty(exports, "stringify", { enumerable: true, get: function() { - return code_2.stringify; - } }); - Object.defineProperty(exports, "regexpCode", { enumerable: true, get: function() { - return code_2.regexpCode; - } }); - Object.defineProperty(exports, "Name", { enumerable: true, get: function() { - return code_2.Name; - } }); - var scope_2 = require_scope(); - Object.defineProperty(exports, "Scope", { enumerable: true, get: function() { - return scope_2.Scope; - } }); - Object.defineProperty(exports, "ValueScope", { enumerable: true, get: function() { - return scope_2.ValueScope; - } }); - Object.defineProperty(exports, "ValueScopeName", { enumerable: true, get: function() { - return scope_2.ValueScopeName; - } }); - Object.defineProperty(exports, "varKinds", { enumerable: true, get: function() { - return scope_2.varKinds; - } }); - exports.operators = { - GT: new code_1._Code(">"), - GTE: new code_1._Code(">="), - LT: new code_1._Code("<"), - LTE: new code_1._Code("<="), - EQ: new code_1._Code("==="), - NEQ: new code_1._Code("!=="), - NOT: new code_1._Code("!"), - OR: new code_1._Code("||"), - AND: new code_1._Code("&&"), - ADD: new code_1._Code("+") - }; - var Node = class { - optimizeNodes() { - return this; - } - optimizeNames(_names, _constants) { - return this; - } - }; - var Def = class extends Node { - constructor(varKind, name, rhs) { - super(); - this.varKind = varKind; - this.name = name; - this.rhs = rhs; - } - render({ es5, _n }) { - const varKind = es5 ? scope_1.varKinds.var : this.varKind; - const rhs = this.rhs === void 0 ? "" : ` = ${this.rhs}`; - return `${varKind} ${this.name}${rhs};` + _n; - } - optimizeNames(names, constants) { - if (!names[this.name.str]) - return; - if (this.rhs) - this.rhs = optimizeExpr(this.rhs, names, constants); - return this; - } - get names() { - return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {}; - } - }; - var Assign = class extends Node { - constructor(lhs, rhs, sideEffects) { - super(); - this.lhs = lhs; - this.rhs = rhs; - this.sideEffects = sideEffects; - } - render({ _n }) { - return `${this.lhs} = ${this.rhs};` + _n; - } - optimizeNames(names, constants) { - if (this.lhs instanceof code_1.Name && !names[this.lhs.str] && !this.sideEffects) - return; - this.rhs = optimizeExpr(this.rhs, names, constants); - return this; - } - get names() { - const names = this.lhs instanceof code_1.Name ? {} : { ...this.lhs.names }; - return addExprNames(names, this.rhs); - } - }; - var AssignOp = class extends Assign { - constructor(lhs, op, rhs, sideEffects) { - super(lhs, rhs, sideEffects); - this.op = op; - } - render({ _n }) { - return `${this.lhs} ${this.op}= ${this.rhs};` + _n; - } - }; - var Label = class extends Node { - constructor(label) { - super(); - this.label = label; - this.names = {}; - } - render({ _n }) { - return `${this.label}:` + _n; - } - }; - var Break = class extends Node { - constructor(label) { - super(); - this.label = label; - this.names = {}; - } - render({ _n }) { - const label = this.label ? ` ${this.label}` : ""; - return `break${label};` + _n; - } - }; - var Throw = class extends Node { - constructor(error) { - super(); - this.error = error; - } - render({ _n }) { - return `throw ${this.error};` + _n; - } - get names() { - return this.error.names; - } - }; - var AnyCode = class extends Node { - constructor(code) { - super(); - this.code = code; - } - render({ _n }) { - return `${this.code};` + _n; - } - optimizeNodes() { - return `${this.code}` ? this : void 0; - } - optimizeNames(names, constants) { - this.code = optimizeExpr(this.code, names, constants); - return this; - } - get names() { - return this.code instanceof code_1._CodeOrName ? this.code.names : {}; - } - }; - var ParentNode = class extends Node { - constructor(nodes = []) { - super(); - this.nodes = nodes; - } - render(opts) { - return this.nodes.reduce((code, n) => code + n.render(opts), ""); - } - optimizeNodes() { - const { nodes } = this; - let i = nodes.length; - while (i--) { - const n = nodes[i].optimizeNodes(); - if (Array.isArray(n)) - nodes.splice(i, 1, ...n); - else if (n) - nodes[i] = n; - else - nodes.splice(i, 1); - } - return nodes.length > 0 ? this : void 0; - } - optimizeNames(names, constants) { - const { nodes } = this; - let i = nodes.length; - while (i--) { - const n = nodes[i]; - if (n.optimizeNames(names, constants)) - continue; - subtractNames(names, n.names); - nodes.splice(i, 1); - } - return nodes.length > 0 ? this : void 0; - } - get names() { - return this.nodes.reduce((names, n) => addNames(names, n.names), {}); - } - }; - var BlockNode = class extends ParentNode { - render(opts) { - return "{" + opts._n + super.render(opts) + "}" + opts._n; - } - }; - var Root = class extends ParentNode { - }; - var Else = class extends BlockNode { - }; - Else.kind = "else"; - var If = class extends BlockNode { - constructor(condition, nodes) { - super(nodes); - this.condition = condition; - } - render(opts) { - let code = `if(${this.condition})` + super.render(opts); - if (this.else) - code += "else " + this.else.render(opts); - return code; - } - optimizeNodes() { - super.optimizeNodes(); - const cond = this.condition; - if (cond === true) - return this.nodes; - let e = this.else; - if (e) { - const ns = e.optimizeNodes(); - e = this.else = Array.isArray(ns) ? new Else(ns) : ns; - } - if (e) { - if (cond === false) - return e instanceof If ? e : e.nodes; - if (this.nodes.length) - return this; - return new If(not(cond), e instanceof If ? [e] : e.nodes); - } - if (cond === false || !this.nodes.length) - return void 0; - return this; - } - optimizeNames(names, constants) { - var _a; - this.else = (_a = this.else) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants); - if (!(super.optimizeNames(names, constants) || this.else)) - return; - this.condition = optimizeExpr(this.condition, names, constants); - return this; - } - get names() { - const names = super.names; - addExprNames(names, this.condition); - if (this.else) - addNames(names, this.else.names); - return names; - } - }; - If.kind = "if"; - var For = class extends BlockNode { - }; - For.kind = "for"; - var ForLoop = class extends For { - constructor(iteration) { - super(); - this.iteration = iteration; - } - render(opts) { - return `for(${this.iteration})` + super.render(opts); - } - optimizeNames(names, constants) { - if (!super.optimizeNames(names, constants)) - return; - this.iteration = optimizeExpr(this.iteration, names, constants); - return this; - } - get names() { - return addNames(super.names, this.iteration.names); - } - }; - var ForRange = class extends For { - constructor(varKind, name, from, to) { - super(); - this.varKind = varKind; - this.name = name; - this.from = from; - this.to = to; - } - render(opts) { - const varKind = opts.es5 ? scope_1.varKinds.var : this.varKind; - const { name, from, to } = this; - return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts); - } - get names() { - const names = addExprNames(super.names, this.from); - return addExprNames(names, this.to); - } - }; - var ForIter = class extends For { - constructor(loop, varKind, name, iterable) { - super(); - this.loop = loop; - this.varKind = varKind; - this.name = name; - this.iterable = iterable; - } - render(opts) { - return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts); - } - optimizeNames(names, constants) { - if (!super.optimizeNames(names, constants)) - return; - this.iterable = optimizeExpr(this.iterable, names, constants); - return this; - } - get names() { - return addNames(super.names, this.iterable.names); - } - }; - var Func = class extends BlockNode { - constructor(name, args, async) { - super(); - this.name = name; - this.args = args; - this.async = async; - } - render(opts) { - const _async = this.async ? "async " : ""; - return `${_async}function ${this.name}(${this.args})` + super.render(opts); - } - }; - Func.kind = "func"; - var Return = class extends ParentNode { - render(opts) { - return "return " + super.render(opts); - } - }; - Return.kind = "return"; - var Try = class extends BlockNode { - render(opts) { - let code = "try" + super.render(opts); - if (this.catch) - code += this.catch.render(opts); - if (this.finally) - code += this.finally.render(opts); - return code; - } - optimizeNodes() { - var _a, _b; - super.optimizeNodes(); - (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNodes(); - (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNodes(); - return this; - } - optimizeNames(names, constants) { - var _a, _b; - super.optimizeNames(names, constants); - (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants); - (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNames(names, constants); - return this; - } - get names() { - const names = super.names; - if (this.catch) - addNames(names, this.catch.names); - if (this.finally) - addNames(names, this.finally.names); - return names; - } - }; - var Catch = class extends BlockNode { - constructor(error) { - super(); - this.error = error; - } - render(opts) { - return `catch(${this.error})` + super.render(opts); - } - }; - Catch.kind = "catch"; - var Finally = class extends BlockNode { - render(opts) { - return "finally" + super.render(opts); - } - }; - Finally.kind = "finally"; - var CodeGen = class { - constructor(extScope, opts = {}) { - this._values = {}; - this._blockStarts = []; - this._constants = {}; - this.opts = { ...opts, _n: opts.lines ? "\n" : "" }; - this._extScope = extScope; - this._scope = new scope_1.Scope({ parent: extScope }); - this._nodes = [new Root()]; - } - toString() { - return this._root.render(this.opts); - } - name(prefix) { - return this._scope.name(prefix); - } - scopeName(prefix) { - return this._extScope.name(prefix); - } - scopeValue(prefixOrName, value) { - const name = this._extScope.value(prefixOrName, value); - const vs = this._values[name.prefix] || (this._values[name.prefix] = /* @__PURE__ */ new Set()); - vs.add(name); - return name; - } - getScopeValue(prefix, keyOrRef) { - return this._extScope.getValue(prefix, keyOrRef); - } - scopeRefs(scopeName) { - return this._extScope.scopeRefs(scopeName, this._values); - } - scopeCode() { - return this._extScope.scopeCode(this._values); - } - _def(varKind, nameOrPrefix, rhs, constant) { - const name = this._scope.toName(nameOrPrefix); - if (rhs !== void 0 && constant) - this._constants[name.str] = rhs; - this._leafNode(new Def(varKind, name, rhs)); - return name; - } - const(nameOrPrefix, rhs, _constant) { - return this._def(scope_1.varKinds.const, nameOrPrefix, rhs, _constant); - } - let(nameOrPrefix, rhs, _constant) { - return this._def(scope_1.varKinds.let, nameOrPrefix, rhs, _constant); - } - var(nameOrPrefix, rhs, _constant) { - return this._def(scope_1.varKinds.var, nameOrPrefix, rhs, _constant); - } - assign(lhs, rhs, sideEffects) { - return this._leafNode(new Assign(lhs, rhs, sideEffects)); - } - add(lhs, rhs) { - return this._leafNode(new AssignOp(lhs, exports.operators.ADD, rhs)); - } - code(c) { - if (typeof c == "function") - c(); - else if (c !== code_1.nil) - this._leafNode(new AnyCode(c)); - return this; - } - object(...keyValues) { - const code = ["{"]; - for (const [key, value] of keyValues) { - if (code.length > 1) - code.push(","); - code.push(key); - if (key !== value || this.opts.es5) { - code.push(":"); - (0, code_1.addCodeArg)(code, value); - } - } - code.push("}"); - return new code_1._Code(code); - } - if(condition, thenBody, elseBody) { - this._blockNode(new If(condition)); - if (thenBody && elseBody) { - this.code(thenBody).else().code(elseBody).endIf(); - } else if (thenBody) { - this.code(thenBody).endIf(); - } else if (elseBody) { - throw new Error('CodeGen: "else" body without "then" body'); - } - return this; - } - elseIf(condition) { - return this._elseNode(new If(condition)); - } - else() { - return this._elseNode(new Else()); - } - endIf() { - return this._endBlockNode(If, Else); - } - _for(node, forBody) { - this._blockNode(node); - if (forBody) - this.code(forBody).endFor(); - return this; - } - for(iteration, forBody) { - return this._for(new ForLoop(iteration), forBody); - } - forRange(nameOrPrefix, from, to, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.let) { - const name = this._scope.toName(nameOrPrefix); - return this._for(new ForRange(varKind, name, from, to), () => forBody(name)); - } - forOf(nameOrPrefix, iterable, forBody, varKind = scope_1.varKinds.const) { - const name = this._scope.toName(nameOrPrefix); - if (this.opts.es5) { - const arr = iterable instanceof code_1.Name ? iterable : this.var("_arr", iterable); - return this.forRange("_i", 0, (0, code_1._)`${arr}.length`, (i) => { - this.var(name, (0, code_1._)`${arr}[${i}]`); - forBody(name); - }); - } - return this._for(new ForIter("of", varKind, name, iterable), () => forBody(name)); - } - forIn(nameOrPrefix, obj, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.const) { - if (this.opts.ownProperties) { - return this.forOf(nameOrPrefix, (0, code_1._)`Object.keys(${obj})`, forBody); - } - const name = this._scope.toName(nameOrPrefix); - return this._for(new ForIter("in", varKind, name, obj), () => forBody(name)); - } - endFor() { - return this._endBlockNode(For); - } - label(label) { - return this._leafNode(new Label(label)); - } - break(label) { - return this._leafNode(new Break(label)); - } - return(value) { - const node = new Return(); - this._blockNode(node); - this.code(value); - if (node.nodes.length !== 1) - throw new Error('CodeGen: "return" should have one node'); - return this._endBlockNode(Return); - } - try(tryBody, catchCode, finallyCode) { - if (!catchCode && !finallyCode) - throw new Error('CodeGen: "try" without "catch" and "finally"'); - const node = new Try(); - this._blockNode(node); - this.code(tryBody); - if (catchCode) { - const error = this.name("e"); - this._currNode = node.catch = new Catch(error); - catchCode(error); - } - if (finallyCode) { - this._currNode = node.finally = new Finally(); - this.code(finallyCode); - } - return this._endBlockNode(Catch, Finally); - } - throw(error) { - return this._leafNode(new Throw(error)); - } - block(body, nodeCount) { - this._blockStarts.push(this._nodes.length); - if (body) - this.code(body).endBlock(nodeCount); - return this; - } - endBlock(nodeCount) { - const len = this._blockStarts.pop(); - if (len === void 0) - throw new Error("CodeGen: not in self-balancing block"); - const toClose = this._nodes.length - len; - if (toClose < 0 || nodeCount !== void 0 && toClose !== nodeCount) { - throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`); - } - this._nodes.length = len; - return this; - } - func(name, args = code_1.nil, async, funcBody) { - this._blockNode(new Func(name, args, async)); - if (funcBody) - this.code(funcBody).endFunc(); - return this; - } - endFunc() { - return this._endBlockNode(Func); - } - optimize(n = 1) { - while (n-- > 0) { - this._root.optimizeNodes(); - this._root.optimizeNames(this._root.names, this._constants); - } - } - _leafNode(node) { - this._currNode.nodes.push(node); - return this; - } - _blockNode(node) { - this._currNode.nodes.push(node); - this._nodes.push(node); - } - _endBlockNode(N1, N2) { - const n = this._currNode; - if (n instanceof N1 || N2 && n instanceof N2) { - this._nodes.pop(); - return this; - } - throw new Error(`CodeGen: not in block "${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}"`); - } - _elseNode(node) { - const n = this._currNode; - if (!(n instanceof If)) { - throw new Error('CodeGen: "else" without "if"'); - } - this._currNode = n.else = node; - return this; - } - get _root() { - return this._nodes[0]; - } - get _currNode() { - const ns = this._nodes; - return ns[ns.length - 1]; - } - set _currNode(node) { - const ns = this._nodes; - ns[ns.length - 1] = node; - } - }; - exports.CodeGen = CodeGen; - function addNames(names, from) { - for (const n in from) - names[n] = (names[n] || 0) + (from[n] || 0); - return names; - } - function addExprNames(names, from) { - return from instanceof code_1._CodeOrName ? addNames(names, from.names) : names; - } - function optimizeExpr(expr, names, constants) { - if (expr instanceof code_1.Name) - return replaceName(expr); - if (!canOptimize(expr)) - return expr; - return new code_1._Code(expr._items.reduce((items, c) => { - if (c instanceof code_1.Name) - c = replaceName(c); - if (c instanceof code_1._Code) - items.push(...c._items); - else - items.push(c); - return items; - }, [])); - function replaceName(n) { - const c = constants[n.str]; - if (c === void 0 || names[n.str] !== 1) - return n; - delete names[n.str]; - return c; - } - function canOptimize(e) { - return e instanceof code_1._Code && e._items.some((c) => c instanceof code_1.Name && names[c.str] === 1 && constants[c.str] !== void 0); - } - } - function subtractNames(names, from) { - for (const n in from) - names[n] = (names[n] || 0) - (from[n] || 0); - } - function not(x) { - return typeof x == "boolean" || typeof x == "number" || x === null ? !x : (0, code_1._)`!${par(x)}`; - } - exports.not = not; - var andCode = mappend(exports.operators.AND); - function and(...args) { - return args.reduce(andCode); - } - exports.and = and; - var orCode = mappend(exports.operators.OR); - function or(...args) { - return args.reduce(orCode); - } - exports.or = or; - function mappend(op) { - return (x, y) => x === code_1.nil ? y : y === code_1.nil ? x : (0, code_1._)`${par(x)} ${op} ${par(y)}`; - } - function par(x) { - return x instanceof code_1.Name ? x : (0, code_1._)`(${x})`; - } - } -}); - -// ../../node_modules/ajv/dist/compile/util.js -var require_util = __commonJS({ - "../../node_modules/ajv/dist/compile/util.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0; - var codegen_1 = require_codegen(); - var code_1 = require_code(); - function toHash(arr) { - const hash = {}; - for (const item of arr) - hash[item] = true; - return hash; - } - exports.toHash = toHash; - function alwaysValidSchema(it, schema) { - if (typeof schema == "boolean") - return schema; - if (Object.keys(schema).length === 0) - return true; - checkUnknownRules(it, schema); - return !schemaHasRules(schema, it.self.RULES.all); - } - exports.alwaysValidSchema = alwaysValidSchema; - function checkUnknownRules(it, schema = it.schema) { - const { opts, self } = it; - if (!opts.strictSchema) - return; - if (typeof schema === "boolean") - return; - const rules = self.RULES.keywords; - for (const key in schema) { - if (!rules[key]) - checkStrictMode(it, `unknown keyword: "${key}"`); - } - } - exports.checkUnknownRules = checkUnknownRules; - function schemaHasRules(schema, rules) { - if (typeof schema == "boolean") - return !schema; - for (const key in schema) - if (rules[key]) - return true; - return false; - } - exports.schemaHasRules = schemaHasRules; - function schemaHasRulesButRef(schema, RULES) { - if (typeof schema == "boolean") - return !schema; - for (const key in schema) - if (key !== "$ref" && RULES.all[key]) - return true; - return false; - } - exports.schemaHasRulesButRef = schemaHasRulesButRef; - function schemaRefOrVal({ topSchemaRef, schemaPath }, schema, keyword, $data) { - if (!$data) { - if (typeof schema == "number" || typeof schema == "boolean") - return schema; - if (typeof schema == "string") - return (0, codegen_1._)`${schema}`; - } - return (0, codegen_1._)`${topSchemaRef}${schemaPath}${(0, codegen_1.getProperty)(keyword)}`; - } - exports.schemaRefOrVal = schemaRefOrVal; - function unescapeFragment(str) { - return unescapeJsonPointer(decodeURIComponent(str)); - } - exports.unescapeFragment = unescapeFragment; - function escapeFragment(str) { - return encodeURIComponent(escapeJsonPointer(str)); - } - exports.escapeFragment = escapeFragment; - function escapeJsonPointer(str) { - if (typeof str == "number") - return `${str}`; - return str.replace(/~/g, "~0").replace(/\//g, "~1"); - } - exports.escapeJsonPointer = escapeJsonPointer; - function unescapeJsonPointer(str) { - return str.replace(/~1/g, "/").replace(/~0/g, "~"); - } - exports.unescapeJsonPointer = unescapeJsonPointer; - function eachItem(xs, f) { - if (Array.isArray(xs)) { - for (const x of xs) - f(x); - } else { - f(xs); - } - } - exports.eachItem = eachItem; - function makeMergeEvaluated({ mergeNames, mergeToName, mergeValues: mergeValues2, resultToName }) { - return (gen, from, to, toName) => { - const res = to === void 0 ? from : to instanceof codegen_1.Name ? (from instanceof codegen_1.Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to) : from instanceof codegen_1.Name ? (mergeToName(gen, to, from), from) : mergeValues2(from, to); - return toName === codegen_1.Name && !(res instanceof codegen_1.Name) ? resultToName(gen, res) : res; - }; - } - exports.mergeEvaluated = { - props: makeMergeEvaluated({ - mergeNames: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => { - gen.if((0, codegen_1._)`${from} === true`, () => gen.assign(to, true), () => gen.assign(to, (0, codegen_1._)`${to} || {}`).code((0, codegen_1._)`Object.assign(${to}, ${from})`)); - }), - mergeToName: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true`, () => { - if (from === true) { - gen.assign(to, true); - } else { - gen.assign(to, (0, codegen_1._)`${to} || {}`); - setEvaluated(gen, to, from); - } - }), - mergeValues: (from, to) => from === true ? true : { ...from, ...to }, - resultToName: evaluatedPropsToName - }), - items: makeMergeEvaluated({ - mergeNames: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => gen.assign(to, (0, codegen_1._)`${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)), - mergeToName: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true`, () => gen.assign(to, from === true ? true : (0, codegen_1._)`${to} > ${from} ? ${to} : ${from}`)), - mergeValues: (from, to) => from === true ? true : Math.max(from, to), - resultToName: (gen, items) => gen.var("items", items) - }) - }; - function evaluatedPropsToName(gen, ps) { - if (ps === true) - return gen.var("props", true); - const props = gen.var("props", (0, codegen_1._)`{}`); - if (ps !== void 0) - setEvaluated(gen, props, ps); - return props; - } - exports.evaluatedPropsToName = evaluatedPropsToName; - function setEvaluated(gen, props, ps) { - Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._)`${props}${(0, codegen_1.getProperty)(p)}`, true)); - } - exports.setEvaluated = setEvaluated; - var snippets = {}; - function useFunc(gen, f) { - return gen.scopeValue("func", { - ref: f, - code: snippets[f.code] || (snippets[f.code] = new code_1._Code(f.code)) - }); - } - exports.useFunc = useFunc; - var Type; - (function(Type2) { - Type2[Type2["Num"] = 0] = "Num"; - Type2[Type2["Str"] = 1] = "Str"; - })(Type = exports.Type || (exports.Type = {})); - function getErrorPath(dataProp, dataPropType, jsPropertySyntax) { - if (dataProp instanceof codegen_1.Name) { - const isNumber = dataPropType === Type.Num; - return jsPropertySyntax ? isNumber ? (0, codegen_1._)`"[" + ${dataProp} + "]"` : (0, codegen_1._)`"['" + ${dataProp} + "']"` : isNumber ? (0, codegen_1._)`"/" + ${dataProp}` : (0, codegen_1._)`"/" + ${dataProp}.replace(/~/g, "~0").replace(/\\//g, "~1")`; - } - return jsPropertySyntax ? (0, codegen_1.getProperty)(dataProp).toString() : "/" + escapeJsonPointer(dataProp); - } - exports.getErrorPath = getErrorPath; - function checkStrictMode(it, msg, mode = it.opts.strictSchema) { - if (!mode) - return; - msg = `strict mode: ${msg}`; - if (mode === true) - throw new Error(msg); - it.self.logger.warn(msg); - } - exports.checkStrictMode = checkStrictMode; - } -}); - -// ../../node_modules/ajv/dist/compile/names.js -var require_names = __commonJS({ - "../../node_modules/ajv/dist/compile/names.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var names = { - data: new codegen_1.Name("data"), - valCxt: new codegen_1.Name("valCxt"), - instancePath: new codegen_1.Name("instancePath"), - parentData: new codegen_1.Name("parentData"), - parentDataProperty: new codegen_1.Name("parentDataProperty"), - rootData: new codegen_1.Name("rootData"), - dynamicAnchors: new codegen_1.Name("dynamicAnchors"), - vErrors: new codegen_1.Name("vErrors"), - errors: new codegen_1.Name("errors"), - this: new codegen_1.Name("this"), - self: new codegen_1.Name("self"), - scope: new codegen_1.Name("scope"), - json: new codegen_1.Name("json"), - jsonPos: new codegen_1.Name("jsonPos"), - jsonLen: new codegen_1.Name("jsonLen"), - jsonPart: new codegen_1.Name("jsonPart") - }; - exports.default = names; - } -}); - -// ../../node_modules/ajv/dist/compile/errors.js -var require_errors = __commonJS({ - "../../node_modules/ajv/dist/compile/errors.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = void 0; - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var names_1 = require_names(); - exports.keywordError = { - message: ({ keyword }) => (0, codegen_1.str)`must pass "${keyword}" keyword validation` - }; - exports.keyword$DataError = { - message: ({ keyword, schemaType }) => schemaType ? (0, codegen_1.str)`"${keyword}" keyword must be ${schemaType} ($data)` : (0, codegen_1.str)`"${keyword}" keyword is invalid ($data)` - }; - function reportError(cxt, error = exports.keywordError, errorPaths, overrideAllErrors) { - const { it } = cxt; - const { gen, compositeRule, allErrors } = it; - const errObj = errorObjectCode(cxt, error, errorPaths); - if (overrideAllErrors !== null && overrideAllErrors !== void 0 ? overrideAllErrors : compositeRule || allErrors) { - addError(gen, errObj); - } else { - returnErrors(it, (0, codegen_1._)`[${errObj}]`); - } - } - exports.reportError = reportError; - function reportExtraError(cxt, error = exports.keywordError, errorPaths) { - const { it } = cxt; - const { gen, compositeRule, allErrors } = it; - const errObj = errorObjectCode(cxt, error, errorPaths); - addError(gen, errObj); - if (!(compositeRule || allErrors)) { - returnErrors(it, names_1.default.vErrors); - } - } - exports.reportExtraError = reportExtraError; - function resetErrorsCount(gen, errsCount) { - gen.assign(names_1.default.errors, errsCount); - gen.if((0, codegen_1._)`${names_1.default.vErrors} !== null`, () => gen.if(errsCount, () => gen.assign((0, codegen_1._)`${names_1.default.vErrors}.length`, errsCount), () => gen.assign(names_1.default.vErrors, null))); - } - exports.resetErrorsCount = resetErrorsCount; - function extendErrors({ gen, keyword, schemaValue, data, errsCount, it }) { - if (errsCount === void 0) - throw new Error("ajv implementation error"); - const err = gen.name("err"); - gen.forRange("i", errsCount, names_1.default.errors, (i) => { - gen.const(err, (0, codegen_1._)`${names_1.default.vErrors}[${i}]`); - gen.if((0, codegen_1._)`${err}.instancePath === undefined`, () => gen.assign((0, codegen_1._)`${err}.instancePath`, (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath))); - gen.assign((0, codegen_1._)`${err}.schemaPath`, (0, codegen_1.str)`${it.errSchemaPath}/${keyword}`); - if (it.opts.verbose) { - gen.assign((0, codegen_1._)`${err}.schema`, schemaValue); - gen.assign((0, codegen_1._)`${err}.data`, data); - } - }); - } - exports.extendErrors = extendErrors; - function addError(gen, errObj) { - const err = gen.const("err", errObj); - gen.if((0, codegen_1._)`${names_1.default.vErrors} === null`, () => gen.assign(names_1.default.vErrors, (0, codegen_1._)`[${err}]`), (0, codegen_1._)`${names_1.default.vErrors}.push(${err})`); - gen.code((0, codegen_1._)`${names_1.default.errors}++`); - } - function returnErrors(it, errs) { - const { gen, validateName, schemaEnv } = it; - if (schemaEnv.$async) { - gen.throw((0, codegen_1._)`new ${it.ValidationError}(${errs})`); - } else { - gen.assign((0, codegen_1._)`${validateName}.errors`, errs); - gen.return(false); - } - } - var E = { - keyword: new codegen_1.Name("keyword"), - schemaPath: new codegen_1.Name("schemaPath"), - params: new codegen_1.Name("params"), - propertyName: new codegen_1.Name("propertyName"), - message: new codegen_1.Name("message"), - schema: new codegen_1.Name("schema"), - parentSchema: new codegen_1.Name("parentSchema") - }; - function errorObjectCode(cxt, error, errorPaths) { - const { createErrors } = cxt.it; - if (createErrors === false) - return (0, codegen_1._)`{}`; - return errorObject(cxt, error, errorPaths); - } - function errorObject(cxt, error, errorPaths = {}) { - const { gen, it } = cxt; - const keyValues = [ - errorInstancePath(it, errorPaths), - errorSchemaPath(cxt, errorPaths) - ]; - extraErrorProps(cxt, error, keyValues); - return gen.object(...keyValues); - } - function errorInstancePath({ errorPath }, { instancePath }) { - const instPath = instancePath ? (0, codegen_1.str)`${errorPath}${(0, util_1.getErrorPath)(instancePath, util_1.Type.Str)}` : errorPath; - return [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, instPath)]; - } - function errorSchemaPath({ keyword, it: { errSchemaPath } }, { schemaPath, parentSchema }) { - let schPath = parentSchema ? errSchemaPath : (0, codegen_1.str)`${errSchemaPath}/${keyword}`; - if (schemaPath) { - schPath = (0, codegen_1.str)`${schPath}${(0, util_1.getErrorPath)(schemaPath, util_1.Type.Str)}`; - } - return [E.schemaPath, schPath]; - } - function extraErrorProps(cxt, { params, message }, keyValues) { - const { keyword, data, schemaValue, it } = cxt; - const { opts, propertyName, topSchemaRef, schemaPath } = it; - keyValues.push([E.keyword, keyword], [E.params, typeof params == "function" ? params(cxt) : params || (0, codegen_1._)`{}`]); - if (opts.messages) { - keyValues.push([E.message, typeof message == "function" ? message(cxt) : message]); - } - if (opts.verbose) { - keyValues.push([E.schema, schemaValue], [E.parentSchema, (0, codegen_1._)`${topSchemaRef}${schemaPath}`], [names_1.default.data, data]); - } - if (propertyName) - keyValues.push([E.propertyName, propertyName]); - } - } -}); - -// ../../node_modules/ajv/dist/compile/validate/boolSchema.js -var require_boolSchema = __commonJS({ - "../../node_modules/ajv/dist/compile/validate/boolSchema.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0; - var errors_1 = require_errors(); - var codegen_1 = require_codegen(); - var names_1 = require_names(); - var boolError = { - message: "boolean schema is false" - }; - function topBoolOrEmptySchema(it) { - const { gen, schema, validateName } = it; - if (schema === false) { - falseSchemaError(it, false); - } else if (typeof schema == "object" && schema.$async === true) { - gen.return(names_1.default.data); - } else { - gen.assign((0, codegen_1._)`${validateName}.errors`, null); - gen.return(true); - } - } - exports.topBoolOrEmptySchema = topBoolOrEmptySchema; - function boolOrEmptySchema(it, valid) { - const { gen, schema } = it; - if (schema === false) { - gen.var(valid, false); - falseSchemaError(it); - } else { - gen.var(valid, true); - } - } - exports.boolOrEmptySchema = boolOrEmptySchema; - function falseSchemaError(it, overrideAllErrors) { - const { gen, data } = it; - const cxt = { - gen, - keyword: "false schema", - data, - schema: false, - schemaCode: false, - schemaValue: false, - params: {}, - it - }; - (0, errors_1.reportError)(cxt, boolError, void 0, overrideAllErrors); - } - } -}); - -// ../../node_modules/ajv/dist/compile/rules.js -var require_rules = __commonJS({ - "../../node_modules/ajv/dist/compile/rules.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRules = exports.isJSONType = void 0; - var _jsonTypes = ["string", "number", "integer", "boolean", "null", "object", "array"]; - var jsonTypes = new Set(_jsonTypes); - function isJSONType(x) { - return typeof x == "string" && jsonTypes.has(x); - } - exports.isJSONType = isJSONType; - function getRules() { - const groups = { - number: { type: "number", rules: [] }, - string: { type: "string", rules: [] }, - array: { type: "array", rules: [] }, - object: { type: "object", rules: [] } - }; - return { - types: { ...groups, integer: true, boolean: true, null: true }, - rules: [{ rules: [] }, groups.number, groups.string, groups.array, groups.object], - post: { rules: [] }, - all: {}, - keywords: {} - }; - } - exports.getRules = getRules; - } -}); - -// ../../node_modules/ajv/dist/compile/validate/applicability.js -var require_applicability = __commonJS({ - "../../node_modules/ajv/dist/compile/validate/applicability.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0; - function schemaHasRulesForType({ schema, self }, type) { - const group = self.RULES.types[type]; - return group && group !== true && shouldUseGroup(schema, group); - } - exports.schemaHasRulesForType = schemaHasRulesForType; - function shouldUseGroup(schema, group) { - return group.rules.some((rule) => shouldUseRule(schema, rule)); - } - exports.shouldUseGroup = shouldUseGroup; - function shouldUseRule(schema, rule) { - var _a; - return schema[rule.keyword] !== void 0 || ((_a = rule.definition.implements) === null || _a === void 0 ? void 0 : _a.some((kwd) => schema[kwd] !== void 0)); - } - exports.shouldUseRule = shouldUseRule; - } -}); - -// ../../node_modules/ajv/dist/compile/validate/dataType.js -var require_dataType = __commonJS({ - "../../node_modules/ajv/dist/compile/validate/dataType.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0; - var rules_1 = require_rules(); - var applicability_1 = require_applicability(); - var errors_1 = require_errors(); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var DataType; - (function(DataType2) { - DataType2[DataType2["Correct"] = 0] = "Correct"; - DataType2[DataType2["Wrong"] = 1] = "Wrong"; - })(DataType = exports.DataType || (exports.DataType = {})); - function getSchemaTypes(schema) { - const types = getJSONTypes(schema.type); - const hasNull = types.includes("null"); - if (hasNull) { - if (schema.nullable === false) - throw new Error("type: null contradicts nullable: false"); - } else { - if (!types.length && schema.nullable !== void 0) { - throw new Error('"nullable" cannot be used without "type"'); - } - if (schema.nullable === true) - types.push("null"); - } - return types; - } - exports.getSchemaTypes = getSchemaTypes; - function getJSONTypes(ts) { - const types = Array.isArray(ts) ? ts : ts ? [ts] : []; - if (types.every(rules_1.isJSONType)) - return types; - throw new Error("type must be JSONType or JSONType[]: " + types.join(",")); - } - exports.getJSONTypes = getJSONTypes; - function coerceAndCheckDataType(it, types) { - const { gen, data, opts } = it; - const coerceTo = coerceToTypes(types, opts.coerceTypes); - const checkTypes = types.length > 0 && !(coerceTo.length === 0 && types.length === 1 && (0, applicability_1.schemaHasRulesForType)(it, types[0])); - if (checkTypes) { - const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong); - gen.if(wrongType, () => { - if (coerceTo.length) - coerceData(it, types, coerceTo); - else - reportTypeError(it); - }); - } - return checkTypes; - } - exports.coerceAndCheckDataType = coerceAndCheckDataType; - var COERCIBLE = /* @__PURE__ */ new Set(["string", "number", "integer", "boolean", "null"]); - function coerceToTypes(types, coerceTypes) { - return coerceTypes ? types.filter((t) => COERCIBLE.has(t) || coerceTypes === "array" && t === "array") : []; - } - function coerceData(it, types, coerceTo) { - const { gen, data, opts } = it; - const dataType = gen.let("dataType", (0, codegen_1._)`typeof ${data}`); - const coerced = gen.let("coerced", (0, codegen_1._)`undefined`); - if (opts.coerceTypes === "array") { - gen.if((0, codegen_1._)`${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () => gen.assign(data, (0, codegen_1._)`${data}[0]`).assign(dataType, (0, codegen_1._)`typeof ${data}`).if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data))); - } - gen.if((0, codegen_1._)`${coerced} !== undefined`); - for (const t of coerceTo) { - if (COERCIBLE.has(t) || t === "array" && opts.coerceTypes === "array") { - coerceSpecificType(t); - } - } - gen.else(); - reportTypeError(it); - gen.endIf(); - gen.if((0, codegen_1._)`${coerced} !== undefined`, () => { - gen.assign(data, coerced); - assignParentData(it, coerced); - }); - function coerceSpecificType(t) { - switch (t) { - case "string": - gen.elseIf((0, codegen_1._)`${dataType} == "number" || ${dataType} == "boolean"`).assign(coerced, (0, codegen_1._)`"" + ${data}`).elseIf((0, codegen_1._)`${data} === null`).assign(coerced, (0, codegen_1._)`""`); - return; - case "number": - gen.elseIf((0, codegen_1._)`${dataType} == "boolean" || ${data} === null - || (${dataType} == "string" && ${data} && ${data} == +${data})`).assign(coerced, (0, codegen_1._)`+${data}`); - return; - case "integer": - gen.elseIf((0, codegen_1._)`${dataType} === "boolean" || ${data} === null - || (${dataType} === "string" && ${data} && ${data} == +${data} && !(${data} % 1))`).assign(coerced, (0, codegen_1._)`+${data}`); - return; - case "boolean": - gen.elseIf((0, codegen_1._)`${data} === "false" || ${data} === 0 || ${data} === null`).assign(coerced, false).elseIf((0, codegen_1._)`${data} === "true" || ${data} === 1`).assign(coerced, true); - return; - case "null": - gen.elseIf((0, codegen_1._)`${data} === "" || ${data} === 0 || ${data} === false`); - gen.assign(coerced, null); - return; - case "array": - gen.elseIf((0, codegen_1._)`${dataType} === "string" || ${dataType} === "number" - || ${dataType} === "boolean" || ${data} === null`).assign(coerced, (0, codegen_1._)`[${data}]`); - } - } - } - function assignParentData({ gen, parentData, parentDataProperty }, expr) { - gen.if((0, codegen_1._)`${parentData} !== undefined`, () => gen.assign((0, codegen_1._)`${parentData}[${parentDataProperty}]`, expr)); - } - function checkDataType(dataType, data, strictNums, correct = DataType.Correct) { - const EQ = correct === DataType.Correct ? codegen_1.operators.EQ : codegen_1.operators.NEQ; - let cond; - switch (dataType) { - case "null": - return (0, codegen_1._)`${data} ${EQ} null`; - case "array": - cond = (0, codegen_1._)`Array.isArray(${data})`; - break; - case "object": - cond = (0, codegen_1._)`${data} && typeof ${data} == "object" && !Array.isArray(${data})`; - break; - case "integer": - cond = numCond((0, codegen_1._)`!(${data} % 1) && !isNaN(${data})`); - break; - case "number": - cond = numCond(); - break; - default: - return (0, codegen_1._)`typeof ${data} ${EQ} ${dataType}`; - } - return correct === DataType.Correct ? cond : (0, codegen_1.not)(cond); - function numCond(_cond = codegen_1.nil) { - return (0, codegen_1.and)((0, codegen_1._)`typeof ${data} == "number"`, _cond, strictNums ? (0, codegen_1._)`isFinite(${data})` : codegen_1.nil); - } - } - exports.checkDataType = checkDataType; - function checkDataTypes(dataTypes, data, strictNums, correct) { - if (dataTypes.length === 1) { - return checkDataType(dataTypes[0], data, strictNums, correct); - } - let cond; - const types = (0, util_1.toHash)(dataTypes); - if (types.array && types.object) { - const notObj = (0, codegen_1._)`typeof ${data} != "object"`; - cond = types.null ? notObj : (0, codegen_1._)`!${data} || ${notObj}`; - delete types.null; - delete types.array; - delete types.object; - } else { - cond = codegen_1.nil; - } - if (types.number) - delete types.integer; - for (const t in types) - cond = (0, codegen_1.and)(cond, checkDataType(t, data, strictNums, correct)); - return cond; - } - exports.checkDataTypes = checkDataTypes; - var typeError = { - message: ({ schema }) => `must be ${schema}`, - params: ({ schema, schemaValue }) => typeof schema == "string" ? (0, codegen_1._)`{type: ${schema}}` : (0, codegen_1._)`{type: ${schemaValue}}` - }; - function reportTypeError(it) { - const cxt = getTypeErrorContext(it); - (0, errors_1.reportError)(cxt, typeError); - } - exports.reportTypeError = reportTypeError; - function getTypeErrorContext(it) { - const { gen, data, schema } = it; - const schemaCode = (0, util_1.schemaRefOrVal)(it, schema, "type"); - return { - gen, - keyword: "type", - data, - schema: schema.type, - schemaCode, - schemaValue: schemaCode, - parentSchema: schema, - params: {}, - it - }; - } - } -}); - -// ../../node_modules/ajv/dist/compile/validate/defaults.js -var require_defaults = __commonJS({ - "../../node_modules/ajv/dist/compile/validate/defaults.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.assignDefaults = void 0; - var codegen_1 = require_codegen(); - var util_1 = require_util(); - function assignDefaults(it, ty) { - const { properties, items } = it.schema; - if (ty === "object" && properties) { - for (const key in properties) { - assignDefault(it, key, properties[key].default); - } - } else if (ty === "array" && Array.isArray(items)) { - items.forEach((sch, i) => assignDefault(it, i, sch.default)); - } - } - exports.assignDefaults = assignDefaults; - function assignDefault(it, prop, defaultValue) { - const { gen, compositeRule, data, opts } = it; - if (defaultValue === void 0) - return; - const childData = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(prop)}`; - if (compositeRule) { - (0, util_1.checkStrictMode)(it, `default is ignored for: ${childData}`); - return; - } - let condition = (0, codegen_1._)`${childData} === undefined`; - if (opts.useDefaults === "empty") { - condition = (0, codegen_1._)`${condition} || ${childData} === null || ${childData} === ""`; - } - gen.if(condition, (0, codegen_1._)`${childData} = ${(0, codegen_1.stringify)(defaultValue)}`); - } - } -}); - -// ../../node_modules/ajv/dist/vocabularies/code.js -var require_code2 = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/code.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0; - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var names_1 = require_names(); - var util_2 = require_util(); - function checkReportMissingProp(cxt, prop) { - const { gen, data, it } = cxt; - gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => { - cxt.setParams({ missingProperty: (0, codegen_1._)`${prop}` }, true); - cxt.error(); - }); - } - exports.checkReportMissingProp = checkReportMissingProp; - function checkMissingProp({ gen, data, it: { opts } }, properties, missing) { - return (0, codegen_1.or)(...properties.map((prop) => (0, codegen_1.and)(noPropertyInData(gen, data, prop, opts.ownProperties), (0, codegen_1._)`${missing} = ${prop}`))); - } - exports.checkMissingProp = checkMissingProp; - function reportMissingProp(cxt, missing) { - cxt.setParams({ missingProperty: missing }, true); - cxt.error(); - } - exports.reportMissingProp = reportMissingProp; - function hasPropFunc(gen) { - return gen.scopeValue("func", { - ref: Object.prototype.hasOwnProperty, - code: (0, codegen_1._)`Object.prototype.hasOwnProperty` - }); - } - exports.hasPropFunc = hasPropFunc; - function isOwnProperty(gen, data, property) { - return (0, codegen_1._)`${hasPropFunc(gen)}.call(${data}, ${property})`; - } - exports.isOwnProperty = isOwnProperty; - function propertyInData(gen, data, property, ownProperties) { - const cond = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(property)} !== undefined`; - return ownProperties ? (0, codegen_1._)`${cond} && ${isOwnProperty(gen, data, property)}` : cond; - } - exports.propertyInData = propertyInData; - function noPropertyInData(gen, data, property, ownProperties) { - const cond = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(property)} === undefined`; - return ownProperties ? (0, codegen_1.or)(cond, (0, codegen_1.not)(isOwnProperty(gen, data, property))) : cond; - } - exports.noPropertyInData = noPropertyInData; - function allSchemaProperties(schemaMap) { - return schemaMap ? Object.keys(schemaMap).filter((p) => p !== "__proto__") : []; - } - exports.allSchemaProperties = allSchemaProperties; - function schemaProperties(it, schemaMap) { - return allSchemaProperties(schemaMap).filter((p) => !(0, util_1.alwaysValidSchema)(it, schemaMap[p])); - } - exports.schemaProperties = schemaProperties; - function callValidateCode({ schemaCode, data, it: { gen, topSchemaRef, schemaPath, errorPath }, it }, func, context, passSchema) { - const dataAndSchema = passSchema ? (0, codegen_1._)`${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data; - const valCxt = [ - [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, errorPath)], - [names_1.default.parentData, it.parentData], - [names_1.default.parentDataProperty, it.parentDataProperty], - [names_1.default.rootData, names_1.default.rootData] - ]; - if (it.opts.dynamicRef) - valCxt.push([names_1.default.dynamicAnchors, names_1.default.dynamicAnchors]); - const args = (0, codegen_1._)`${dataAndSchema}, ${gen.object(...valCxt)}`; - return context !== codegen_1.nil ? (0, codegen_1._)`${func}.call(${context}, ${args})` : (0, codegen_1._)`${func}(${args})`; - } - exports.callValidateCode = callValidateCode; - var newRegExp = (0, codegen_1._)`new RegExp`; - function usePattern({ gen, it: { opts } }, pattern) { - const u = opts.unicodeRegExp ? "u" : ""; - const { regExp } = opts.code; - const rx = regExp(pattern, u); - return gen.scopeValue("pattern", { - key: rx.toString(), - ref: rx, - code: (0, codegen_1._)`${regExp.code === "new RegExp" ? newRegExp : (0, util_2.useFunc)(gen, regExp)}(${pattern}, ${u})` - }); - } - exports.usePattern = usePattern; - function validateArray(cxt) { - const { gen, data, keyword, it } = cxt; - const valid = gen.name("valid"); - if (it.allErrors) { - const validArr = gen.let("valid", true); - validateItems(() => gen.assign(validArr, false)); - return validArr; - } - gen.var(valid, true); - validateItems(() => gen.break()); - return valid; - function validateItems(notValid) { - const len = gen.const("len", (0, codegen_1._)`${data}.length`); - gen.forRange("i", 0, len, (i) => { - cxt.subschema({ - keyword, - dataProp: i, - dataPropType: util_1.Type.Num - }, valid); - gen.if((0, codegen_1.not)(valid), notValid); - }); - } - } - exports.validateArray = validateArray; - function validateUnion(cxt) { - const { gen, schema, keyword, it } = cxt; - if (!Array.isArray(schema)) - throw new Error("ajv implementation error"); - const alwaysValid = schema.some((sch) => (0, util_1.alwaysValidSchema)(it, sch)); - if (alwaysValid && !it.opts.unevaluated) - return; - const valid = gen.let("valid", false); - const schValid = gen.name("_valid"); - gen.block(() => schema.forEach((_sch, i) => { - const schCxt = cxt.subschema({ - keyword, - schemaProp: i, - compositeRule: true - }, schValid); - gen.assign(valid, (0, codegen_1._)`${valid} || ${schValid}`); - const merged = cxt.mergeValidEvaluated(schCxt, schValid); - if (!merged) - gen.if((0, codegen_1.not)(valid)); - })); - cxt.result(valid, () => cxt.reset(), () => cxt.error(true)); - } - exports.validateUnion = validateUnion; - } -}); - -// ../../node_modules/ajv/dist/compile/validate/keyword.js -var require_keyword = __commonJS({ - "../../node_modules/ajv/dist/compile/validate/keyword.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0; - var codegen_1 = require_codegen(); - var names_1 = require_names(); - var code_1 = require_code2(); - var errors_1 = require_errors(); - function macroKeywordCode(cxt, def) { - const { gen, keyword, schema, parentSchema, it } = cxt; - const macroSchema = def.macro.call(it.self, schema, parentSchema, it); - const schemaRef = useKeyword(gen, keyword, macroSchema); - if (it.opts.validateSchema !== false) - it.self.validateSchema(macroSchema, true); - const valid = gen.name("valid"); - cxt.subschema({ - schema: macroSchema, - schemaPath: codegen_1.nil, - errSchemaPath: `${it.errSchemaPath}/${keyword}`, - topSchemaRef: schemaRef, - compositeRule: true - }, valid); - cxt.pass(valid, () => cxt.error(true)); - } - exports.macroKeywordCode = macroKeywordCode; - function funcKeywordCode(cxt, def) { - var _a; - const { gen, keyword, schema, parentSchema, $data, it } = cxt; - checkAsyncKeyword(it, def); - const validate = !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate; - const validateRef = useKeyword(gen, keyword, validate); - const valid = gen.let("valid"); - cxt.block$data(valid, validateKeyword); - cxt.ok((_a = def.valid) !== null && _a !== void 0 ? _a : valid); - function validateKeyword() { - if (def.errors === false) { - assignValid(); - if (def.modifying) - modifyData(cxt); - reportErrs(() => cxt.error()); - } else { - const ruleErrs = def.async ? validateAsync() : validateSync(); - if (def.modifying) - modifyData(cxt); - reportErrs(() => addErrs(cxt, ruleErrs)); - } - } - function validateAsync() { - const ruleErrs = gen.let("ruleErrs", null); - gen.try(() => assignValid((0, codegen_1._)`await `), (e) => gen.assign(valid, false).if((0, codegen_1._)`${e} instanceof ${it.ValidationError}`, () => gen.assign(ruleErrs, (0, codegen_1._)`${e}.errors`), () => gen.throw(e))); - return ruleErrs; - } - function validateSync() { - const validateErrs = (0, codegen_1._)`${validateRef}.errors`; - gen.assign(validateErrs, null); - assignValid(codegen_1.nil); - return validateErrs; - } - function assignValid(_await = def.async ? (0, codegen_1._)`await ` : codegen_1.nil) { - const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self; - const passSchema = !("compile" in def && !$data || def.schema === false); - gen.assign(valid, (0, codegen_1._)`${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying); - } - function reportErrs(errors) { - var _a2; - gen.if((0, codegen_1.not)((_a2 = def.valid) !== null && _a2 !== void 0 ? _a2 : valid), errors); - } - } - exports.funcKeywordCode = funcKeywordCode; - function modifyData(cxt) { - const { gen, data, it } = cxt; - gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._)`${it.parentData}[${it.parentDataProperty}]`)); - } - function addErrs(cxt, errs) { - const { gen } = cxt; - gen.if((0, codegen_1._)`Array.isArray(${errs})`, () => { - gen.assign(names_1.default.vErrors, (0, codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`).assign(names_1.default.errors, (0, codegen_1._)`${names_1.default.vErrors}.length`); - (0, errors_1.extendErrors)(cxt); - }, () => cxt.error()); - } - function checkAsyncKeyword({ schemaEnv }, def) { - if (def.async && !schemaEnv.$async) - throw new Error("async keyword in sync schema"); - } - function useKeyword(gen, keyword, result) { - if (result === void 0) - throw new Error(`keyword "${keyword}" failed to compile`); - return gen.scopeValue("keyword", typeof result == "function" ? { ref: result } : { ref: result, code: (0, codegen_1.stringify)(result) }); - } - function validSchemaType(schema, schemaType, allowUndefined = false) { - return !schemaType.length || schemaType.some((st) => st === "array" ? Array.isArray(schema) : st === "object" ? schema && typeof schema == "object" && !Array.isArray(schema) : typeof schema == st || allowUndefined && typeof schema == "undefined"); - } - exports.validSchemaType = validSchemaType; - function validateKeywordUsage({ schema, opts, self, errSchemaPath }, def, keyword) { - if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) { - throw new Error("ajv implementation error"); - } - const deps = def.dependencies; - if (deps === null || deps === void 0 ? void 0 : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd))) { - throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(",")}`); - } - if (def.validateSchema) { - const valid = def.validateSchema(schema[keyword]); - if (!valid) { - const msg = `keyword "${keyword}" value is invalid at path "${errSchemaPath}": ` + self.errorsText(def.validateSchema.errors); - if (opts.validateSchema === "log") - self.logger.error(msg); - else - throw new Error(msg); - } - } - } - exports.validateKeywordUsage = validateKeywordUsage; - } -}); - -// ../../node_modules/ajv/dist/compile/validate/subschema.js -var require_subschema = __commonJS({ - "../../node_modules/ajv/dist/compile/validate/subschema.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0; - var codegen_1 = require_codegen(); - var util_1 = require_util(); - function getSubschema(it, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }) { - if (keyword !== void 0 && schema !== void 0) { - throw new Error('both "keyword" and "schema" passed, only one allowed'); - } - if (keyword !== void 0) { - const sch = it.schema[keyword]; - return schemaProp === void 0 ? { - schema: sch, - schemaPath: (0, codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}`, - errSchemaPath: `${it.errSchemaPath}/${keyword}` - } : { - schema: sch[schemaProp], - schemaPath: (0, codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}${(0, codegen_1.getProperty)(schemaProp)}`, - errSchemaPath: `${it.errSchemaPath}/${keyword}/${(0, util_1.escapeFragment)(schemaProp)}` - }; - } - if (schema !== void 0) { - if (schemaPath === void 0 || errSchemaPath === void 0 || topSchemaRef === void 0) { - throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"'); - } - return { - schema, - schemaPath, - topSchemaRef, - errSchemaPath - }; - } - throw new Error('either "keyword" or "schema" must be passed'); - } - exports.getSubschema = getSubschema; - function extendSubschemaData(subschema, it, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }) { - if (data !== void 0 && dataProp !== void 0) { - throw new Error('both "data" and "dataProp" passed, only one allowed'); - } - const { gen } = it; - if (dataProp !== void 0) { - const { errorPath, dataPathArr, opts } = it; - const nextData = gen.let("data", (0, codegen_1._)`${it.data}${(0, codegen_1.getProperty)(dataProp)}`, true); - dataContextProps(nextData); - subschema.errorPath = (0, codegen_1.str)`${errorPath}${(0, util_1.getErrorPath)(dataProp, dpType, opts.jsPropertySyntax)}`; - subschema.parentDataProperty = (0, codegen_1._)`${dataProp}`; - subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty]; - } - if (data !== void 0) { - const nextData = data instanceof codegen_1.Name ? data : gen.let("data", data, true); - dataContextProps(nextData); - if (propertyName !== void 0) - subschema.propertyName = propertyName; - } - if (dataTypes) - subschema.dataTypes = dataTypes; - function dataContextProps(_nextData) { - subschema.data = _nextData; - subschema.dataLevel = it.dataLevel + 1; - subschema.dataTypes = []; - it.definedProperties = /* @__PURE__ */ new Set(); - subschema.parentData = it.data; - subschema.dataNames = [...it.dataNames, _nextData]; - } - } - exports.extendSubschemaData = extendSubschemaData; - function extendSubschemaMode(subschema, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }) { - if (compositeRule !== void 0) - subschema.compositeRule = compositeRule; - if (createErrors !== void 0) - subschema.createErrors = createErrors; - if (allErrors !== void 0) - subschema.allErrors = allErrors; - subschema.jtdDiscriminator = jtdDiscriminator; - subschema.jtdMetadata = jtdMetadata; - } - exports.extendSubschemaMode = extendSubschemaMode; - } -}); - -// ../../node_modules/fast-deep-equal/index.js -var require_fast_deep_equal = __commonJS({ - "../../node_modules/fast-deep-equal/index.js"(exports, module2) { - "use strict"; - module2.exports = function equal(a, b) { - if (a === b) - return true; - if (a && b && typeof a == "object" && typeof b == "object") { - if (a.constructor !== b.constructor) - return false; - var length, i, keys; - if (Array.isArray(a)) { - length = a.length; - if (length != b.length) - return false; - for (i = length; i-- !== 0; ) - if (!equal(a[i], b[i])) - return false; - return true; - } - if (a.constructor === RegExp) - return a.source === b.source && a.flags === b.flags; - if (a.valueOf !== Object.prototype.valueOf) - return a.valueOf() === b.valueOf(); - if (a.toString !== Object.prototype.toString) - return a.toString() === b.toString(); - keys = Object.keys(a); - length = keys.length; - if (length !== Object.keys(b).length) - return false; - for (i = length; i-- !== 0; ) - if (!Object.prototype.hasOwnProperty.call(b, keys[i])) - return false; - for (i = length; i-- !== 0; ) { - var key = keys[i]; - if (!equal(a[key], b[key])) - return false; - } - return true; - } - return a !== a && b !== b; - }; - } -}); - -// ../../node_modules/json-schema-traverse/index.js -var require_json_schema_traverse = __commonJS({ - "../../node_modules/json-schema-traverse/index.js"(exports, module2) { - "use strict"; - var traverse = module2.exports = function(schema, opts, cb) { - if (typeof opts == "function") { - cb = opts; - opts = {}; - } - cb = opts.cb || cb; - var pre = typeof cb == "function" ? cb : cb.pre || function() { - }; - var post = cb.post || function() { - }; - _traverse(opts, pre, post, schema, "", schema); - }; - traverse.keywords = { - additionalItems: true, - items: true, - contains: true, - additionalProperties: true, - propertyNames: true, - not: true, - if: true, - then: true, - else: true - }; - traverse.arrayKeywords = { - items: true, - allOf: true, - anyOf: true, - oneOf: true - }; - traverse.propsKeywords = { - $defs: true, - definitions: true, - properties: true, - patternProperties: true, - dependencies: true - }; - traverse.skipKeywords = { - default: true, - enum: true, - const: true, - required: true, - maximum: true, - minimum: true, - exclusiveMaximum: true, - exclusiveMinimum: true, - multipleOf: true, - maxLength: true, - minLength: true, - pattern: true, - format: true, - maxItems: true, - minItems: true, - uniqueItems: true, - maxProperties: true, - minProperties: true - }; - function _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) { - if (schema && typeof schema == "object" && !Array.isArray(schema)) { - pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex); - for (var key in schema) { - var sch = schema[key]; - if (Array.isArray(sch)) { - if (key in traverse.arrayKeywords) { - for (var i = 0; i < sch.length; i++) - _traverse(opts, pre, post, sch[i], jsonPtr + "/" + key + "/" + i, rootSchema, jsonPtr, key, schema, i); - } - } else if (key in traverse.propsKeywords) { - if (sch && typeof sch == "object") { - for (var prop in sch) - _traverse(opts, pre, post, sch[prop], jsonPtr + "/" + key + "/" + escapeJsonPtr(prop), rootSchema, jsonPtr, key, schema, prop); - } - } else if (key in traverse.keywords || opts.allKeys && !(key in traverse.skipKeywords)) { - _traverse(opts, pre, post, sch, jsonPtr + "/" + key, rootSchema, jsonPtr, key, schema); - } - } - post(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex); - } - } - function escapeJsonPtr(str) { - return str.replace(/~/g, "~0").replace(/\//g, "~1"); - } - } -}); - -// ../../node_modules/ajv/dist/compile/resolve.js -var require_resolve = __commonJS({ - "../../node_modules/ajv/dist/compile/resolve.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0; - var util_1 = require_util(); - var equal = require_fast_deep_equal(); - var traverse = require_json_schema_traverse(); - var SIMPLE_INLINED = /* @__PURE__ */ new Set([ - "type", - "format", - "pattern", - "maxLength", - "minLength", - "maxProperties", - "minProperties", - "maxItems", - "minItems", - "maximum", - "minimum", - "uniqueItems", - "multipleOf", - "required", - "enum", - "const" - ]); - function inlineRef(schema, limit = true) { - if (typeof schema == "boolean") - return true; - if (limit === true) - return !hasRef(schema); - if (!limit) - return false; - return countKeys(schema) <= limit; - } - exports.inlineRef = inlineRef; - var REF_KEYWORDS = /* @__PURE__ */ new Set([ - "$ref", - "$recursiveRef", - "$recursiveAnchor", - "$dynamicRef", - "$dynamicAnchor" - ]); - function hasRef(schema) { - for (const key in schema) { - if (REF_KEYWORDS.has(key)) - return true; - const sch = schema[key]; - if (Array.isArray(sch) && sch.some(hasRef)) - return true; - if (typeof sch == "object" && hasRef(sch)) - return true; - } - return false; - } - function countKeys(schema) { - let count = 0; - for (const key in schema) { - if (key === "$ref") - return Infinity; - count++; - if (SIMPLE_INLINED.has(key)) - continue; - if (typeof schema[key] == "object") { - (0, util_1.eachItem)(schema[key], (sch) => count += countKeys(sch)); - } - if (count === Infinity) - return Infinity; - } - return count; - } - function getFullPath(resolver, id = "", normalize) { - if (normalize !== false) - id = normalizeId(id); - const p = resolver.parse(id); - return _getFullPath(resolver, p); - } - exports.getFullPath = getFullPath; - function _getFullPath(resolver, p) { - const serialized = resolver.serialize(p); - return serialized.split("#")[0] + "#"; - } - exports._getFullPath = _getFullPath; - var TRAILING_SLASH_HASH = /#\/?$/; - function normalizeId(id) { - return id ? id.replace(TRAILING_SLASH_HASH, "") : ""; - } - exports.normalizeId = normalizeId; - function resolveUrl(resolver, baseId, id) { - id = normalizeId(id); - return resolver.resolve(baseId, id); - } - exports.resolveUrl = resolveUrl; - var ANCHOR = /^[a-z_][-a-z0-9._]*$/i; - function getSchemaRefs(schema, baseId) { - if (typeof schema == "boolean") - return {}; - const { schemaId, uriResolver } = this.opts; - const schId = normalizeId(schema[schemaId] || baseId); - const baseIds = { "": schId }; - const pathPrefix = getFullPath(uriResolver, schId, false); - const localRefs = {}; - const schemaRefs = /* @__PURE__ */ new Set(); - traverse(schema, { allKeys: true }, (sch, jsonPtr, _, parentJsonPtr) => { - if (parentJsonPtr === void 0) - return; - const fullPath = pathPrefix + jsonPtr; - let baseId2 = baseIds[parentJsonPtr]; - if (typeof sch[schemaId] == "string") - baseId2 = addRef.call(this, sch[schemaId]); - addAnchor.call(this, sch.$anchor); - addAnchor.call(this, sch.$dynamicAnchor); - baseIds[jsonPtr] = baseId2; - function addRef(ref) { - const _resolve = this.opts.uriResolver.resolve; - ref = normalizeId(baseId2 ? _resolve(baseId2, ref) : ref); - if (schemaRefs.has(ref)) - throw ambiguos(ref); - schemaRefs.add(ref); - let schOrRef = this.refs[ref]; - if (typeof schOrRef == "string") - schOrRef = this.refs[schOrRef]; - if (typeof schOrRef == "object") { - checkAmbiguosRef(sch, schOrRef.schema, ref); - } else if (ref !== normalizeId(fullPath)) { - if (ref[0] === "#") { - checkAmbiguosRef(sch, localRefs[ref], ref); - localRefs[ref] = sch; - } else { - this.refs[ref] = fullPath; - } - } - return ref; - } - function addAnchor(anchor) { - if (typeof anchor == "string") { - if (!ANCHOR.test(anchor)) - throw new Error(`invalid anchor "${anchor}"`); - addRef.call(this, `#${anchor}`); - } - } - }); - return localRefs; - function checkAmbiguosRef(sch1, sch2, ref) { - if (sch2 !== void 0 && !equal(sch1, sch2)) - throw ambiguos(ref); - } - function ambiguos(ref) { - return new Error(`reference "${ref}" resolves to more than one schema`); - } - } - exports.getSchemaRefs = getSchemaRefs; - } -}); - -// ../../node_modules/ajv/dist/compile/validate/index.js -var require_validate = __commonJS({ - "../../node_modules/ajv/dist/compile/validate/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0; - var boolSchema_1 = require_boolSchema(); - var dataType_1 = require_dataType(); - var applicability_1 = require_applicability(); - var dataType_2 = require_dataType(); - var defaults_1 = require_defaults(); - var keyword_1 = require_keyword(); - var subschema_1 = require_subschema(); - var codegen_1 = require_codegen(); - var names_1 = require_names(); - var resolve_1 = require_resolve(); - var util_1 = require_util(); - var errors_1 = require_errors(); - function validateFunctionCode(it) { - if (isSchemaObj(it)) { - checkKeywords(it); - if (schemaCxtHasRules(it)) { - topSchemaObjCode(it); - return; - } - } - validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it)); - } - exports.validateFunctionCode = validateFunctionCode; - function validateFunction({ gen, validateName, schema, schemaEnv, opts }, body) { - if (opts.code.es5) { - gen.func(validateName, (0, codegen_1._)`${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => { - gen.code((0, codegen_1._)`"use strict"; ${funcSourceUrl(schema, opts)}`); - destructureValCxtES5(gen, opts); - gen.code(body); - }); - } else { - gen.func(validateName, (0, codegen_1._)`${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema, opts)).code(body)); - } - } - function destructureValCxt(opts) { - return (0, codegen_1._)`{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._)`, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`; - } - function destructureValCxtES5(gen, opts) { - gen.if(names_1.default.valCxt, () => { - gen.var(names_1.default.instancePath, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.instancePath}`); - gen.var(names_1.default.parentData, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentData}`); - gen.var(names_1.default.parentDataProperty, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentDataProperty}`); - gen.var(names_1.default.rootData, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.rootData}`); - if (opts.dynamicRef) - gen.var(names_1.default.dynamicAnchors, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`); - }, () => { - gen.var(names_1.default.instancePath, (0, codegen_1._)`""`); - gen.var(names_1.default.parentData, (0, codegen_1._)`undefined`); - gen.var(names_1.default.parentDataProperty, (0, codegen_1._)`undefined`); - gen.var(names_1.default.rootData, names_1.default.data); - if (opts.dynamicRef) - gen.var(names_1.default.dynamicAnchors, (0, codegen_1._)`{}`); - }); - } - function topSchemaObjCode(it) { - const { schema, opts, gen } = it; - validateFunction(it, () => { - if (opts.$comment && schema.$comment) - commentKeyword(it); - checkNoDefault(it); - gen.let(names_1.default.vErrors, null); - gen.let(names_1.default.errors, 0); - if (opts.unevaluated) - resetEvaluated(it); - typeAndKeywords(it); - returnResults(it); - }); - return; - } - function resetEvaluated(it) { - const { gen, validateName } = it; - it.evaluated = gen.const("evaluated", (0, codegen_1._)`${validateName}.evaluated`); - gen.if((0, codegen_1._)`${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._)`${it.evaluated}.props`, (0, codegen_1._)`undefined`)); - gen.if((0, codegen_1._)`${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._)`${it.evaluated}.items`, (0, codegen_1._)`undefined`)); - } - function funcSourceUrl(schema, opts) { - const schId = typeof schema == "object" && schema[opts.schemaId]; - return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._)`/*# sourceURL=${schId} */` : codegen_1.nil; - } - function subschemaCode(it, valid) { - if (isSchemaObj(it)) { - checkKeywords(it); - if (schemaCxtHasRules(it)) { - subSchemaObjCode(it, valid); - return; - } - } - (0, boolSchema_1.boolOrEmptySchema)(it, valid); - } - function schemaCxtHasRules({ schema, self }) { - if (typeof schema == "boolean") - return !schema; - for (const key in schema) - if (self.RULES.all[key]) - return true; - return false; - } - function isSchemaObj(it) { - return typeof it.schema != "boolean"; - } - function subSchemaObjCode(it, valid) { - const { schema, gen, opts } = it; - if (opts.$comment && schema.$comment) - commentKeyword(it); - updateContext(it); - checkAsyncSchema(it); - const errsCount = gen.const("_errs", names_1.default.errors); - typeAndKeywords(it, errsCount); - gen.var(valid, (0, codegen_1._)`${errsCount} === ${names_1.default.errors}`); - } - function checkKeywords(it) { - (0, util_1.checkUnknownRules)(it); - checkRefsAndKeywords(it); - } - function typeAndKeywords(it, errsCount) { - if (it.opts.jtd) - return schemaKeywords(it, [], false, errsCount); - const types = (0, dataType_1.getSchemaTypes)(it.schema); - const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types); - schemaKeywords(it, types, !checkedTypes, errsCount); - } - function checkRefsAndKeywords(it) { - const { schema, errSchemaPath, opts, self } = it; - if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) { - self.logger.warn(`$ref: keywords ignored in schema at path "${errSchemaPath}"`); - } - } - function checkNoDefault(it) { - const { schema, opts } = it; - if (schema.default !== void 0 && opts.useDefaults && opts.strictSchema) { - (0, util_1.checkStrictMode)(it, "default is ignored in the schema root"); - } - } - function updateContext(it) { - const schId = it.schema[it.opts.schemaId]; - if (schId) - it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId); - } - function checkAsyncSchema(it) { - if (it.schema.$async && !it.schemaEnv.$async) - throw new Error("async schema in sync schema"); - } - function commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) { - const msg = schema.$comment; - if (opts.$comment === true) { - gen.code((0, codegen_1._)`${names_1.default.self}.logger.log(${msg})`); - } else if (typeof opts.$comment == "function") { - const schemaPath = (0, codegen_1.str)`${errSchemaPath}/$comment`; - const rootName = gen.scopeValue("root", { ref: schemaEnv.root }); - gen.code((0, codegen_1._)`${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`); - } - } - function returnResults(it) { - const { gen, schemaEnv, validateName, ValidationError: ValidationError2, opts } = it; - if (schemaEnv.$async) { - gen.if((0, codegen_1._)`${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._)`new ${ValidationError2}(${names_1.default.vErrors})`)); - } else { - gen.assign((0, codegen_1._)`${validateName}.errors`, names_1.default.vErrors); - if (opts.unevaluated) - assignEvaluated(it); - gen.return((0, codegen_1._)`${names_1.default.errors} === 0`); - } - } - function assignEvaluated({ gen, evaluated, props, items }) { - if (props instanceof codegen_1.Name) - gen.assign((0, codegen_1._)`${evaluated}.props`, props); - if (items instanceof codegen_1.Name) - gen.assign((0, codegen_1._)`${evaluated}.items`, items); - } - function schemaKeywords(it, types, typeErrors, errsCount) { - const { gen, schema, data, allErrors, opts, self } = it; - const { RULES } = self; - if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) { - gen.block(() => keywordCode(it, "$ref", RULES.all.$ref.definition)); - return; - } - if (!opts.jtd) - checkStrictTypes(it, types); - gen.block(() => { - for (const group of RULES.rules) - groupKeywords(group); - groupKeywords(RULES.post); - }); - function groupKeywords(group) { - if (!(0, applicability_1.shouldUseGroup)(schema, group)) - return; - if (group.type) { - gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers)); - iterateKeywords(it, group); - if (types.length === 1 && types[0] === group.type && typeErrors) { - gen.else(); - (0, dataType_2.reportTypeError)(it); - } - gen.endIf(); - } else { - iterateKeywords(it, group); - } - if (!allErrors) - gen.if((0, codegen_1._)`${names_1.default.errors} === ${errsCount || 0}`); - } - } - function iterateKeywords(it, group) { - const { gen, schema, opts: { useDefaults } } = it; - if (useDefaults) - (0, defaults_1.assignDefaults)(it, group.type); - gen.block(() => { - for (const rule of group.rules) { - if ((0, applicability_1.shouldUseRule)(schema, rule)) { - keywordCode(it, rule.keyword, rule.definition, group.type); - } - } - }); - } - function checkStrictTypes(it, types) { - if (it.schemaEnv.meta || !it.opts.strictTypes) - return; - checkContextTypes(it, types); - if (!it.opts.allowUnionTypes) - checkMultipleTypes(it, types); - checkKeywordTypes(it, it.dataTypes); - } - function checkContextTypes(it, types) { - if (!types.length) - return; - if (!it.dataTypes.length) { - it.dataTypes = types; - return; - } - types.forEach((t) => { - if (!includesType(it.dataTypes, t)) { - strictTypesError(it, `type "${t}" not allowed by context "${it.dataTypes.join(",")}"`); - } - }); - it.dataTypes = it.dataTypes.filter((t) => includesType(types, t)); - } - function checkMultipleTypes(it, ts) { - if (ts.length > 1 && !(ts.length === 2 && ts.includes("null"))) { - strictTypesError(it, "use allowUnionTypes to allow union type keyword"); - } - } - function checkKeywordTypes(it, ts) { - const rules = it.self.RULES.all; - for (const keyword in rules) { - const rule = rules[keyword]; - if (typeof rule == "object" && (0, applicability_1.shouldUseRule)(it.schema, rule)) { - const { type } = rule.definition; - if (type.length && !type.some((t) => hasApplicableType(ts, t))) { - strictTypesError(it, `missing type "${type.join(",")}" for keyword "${keyword}"`); - } - } - } - } - function hasApplicableType(schTs, kwdT) { - return schTs.includes(kwdT) || kwdT === "number" && schTs.includes("integer"); - } - function includesType(ts, t) { - return ts.includes(t) || t === "integer" && ts.includes("number"); - } - function strictTypesError(it, msg) { - const schemaPath = it.schemaEnv.baseId + it.errSchemaPath; - msg += ` at "${schemaPath}" (strictTypes)`; - (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes); - } - var KeywordCxt = class { - constructor(it, def, keyword) { - (0, keyword_1.validateKeywordUsage)(it, def, keyword); - this.gen = it.gen; - this.allErrors = it.allErrors; - this.keyword = keyword; - this.data = it.data; - this.schema = it.schema[keyword]; - this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data; - this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data); - this.schemaType = def.schemaType; - this.parentSchema = it.schema; - this.params = {}; - this.it = it; - this.def = def; - if (this.$data) { - this.schemaCode = it.gen.const("vSchema", getData(this.$data, it)); - } else { - this.schemaCode = this.schemaValue; - if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) { - throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`); - } - } - if ("code" in def ? def.trackErrors : def.errors !== false) { - this.errsCount = it.gen.const("_errs", names_1.default.errors); - } - } - result(condition, successAction, failAction) { - this.failResult((0, codegen_1.not)(condition), successAction, failAction); - } - failResult(condition, successAction, failAction) { - this.gen.if(condition); - if (failAction) - failAction(); - else - this.error(); - if (successAction) { - this.gen.else(); - successAction(); - if (this.allErrors) - this.gen.endIf(); - } else { - if (this.allErrors) - this.gen.endIf(); - else - this.gen.else(); - } - } - pass(condition, failAction) { - this.failResult((0, codegen_1.not)(condition), void 0, failAction); - } - fail(condition) { - if (condition === void 0) { - this.error(); - if (!this.allErrors) - this.gen.if(false); - return; - } - this.gen.if(condition); - this.error(); - if (this.allErrors) - this.gen.endIf(); - else - this.gen.else(); - } - fail$data(condition) { - if (!this.$data) - return this.fail(condition); - const { schemaCode } = this; - this.fail((0, codegen_1._)`${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`); - } - error(append, errorParams, errorPaths) { - if (errorParams) { - this.setParams(errorParams); - this._error(append, errorPaths); - this.setParams({}); - return; - } - this._error(append, errorPaths); - } - _error(append, errorPaths) { - ; - (append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths); - } - $dataError() { - (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError); - } - reset() { - if (this.errsCount === void 0) - throw new Error('add "trackErrors" to keyword definition'); - (0, errors_1.resetErrorsCount)(this.gen, this.errsCount); - } - ok(cond) { - if (!this.allErrors) - this.gen.if(cond); - } - setParams(obj, assign) { - if (assign) - Object.assign(this.params, obj); - else - this.params = obj; - } - block$data(valid, codeBlock, $dataValid = codegen_1.nil) { - this.gen.block(() => { - this.check$data(valid, $dataValid); - codeBlock(); - }); - } - check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) { - if (!this.$data) - return; - const { gen, schemaCode, schemaType, def } = this; - gen.if((0, codegen_1.or)((0, codegen_1._)`${schemaCode} === undefined`, $dataValid)); - if (valid !== codegen_1.nil) - gen.assign(valid, true); - if (schemaType.length || def.validateSchema) { - gen.elseIf(this.invalid$data()); - this.$dataError(); - if (valid !== codegen_1.nil) - gen.assign(valid, false); - } - gen.else(); - } - invalid$data() { - const { gen, schemaCode, schemaType, def, it } = this; - return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema()); - function wrong$DataType() { - if (schemaType.length) { - if (!(schemaCode instanceof codegen_1.Name)) - throw new Error("ajv implementation error"); - const st = Array.isArray(schemaType) ? schemaType : [schemaType]; - return (0, codegen_1._)`${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`; - } - return codegen_1.nil; - } - function invalid$DataSchema() { - if (def.validateSchema) { - const validateSchemaRef = gen.scopeValue("validate$data", { ref: def.validateSchema }); - return (0, codegen_1._)`!${validateSchemaRef}(${schemaCode})`; - } - return codegen_1.nil; - } - } - subschema(appl, valid) { - const subschema = (0, subschema_1.getSubschema)(this.it, appl); - (0, subschema_1.extendSubschemaData)(subschema, this.it, appl); - (0, subschema_1.extendSubschemaMode)(subschema, appl); - const nextContext = { ...this.it, ...subschema, items: void 0, props: void 0 }; - subschemaCode(nextContext, valid); - return nextContext; - } - mergeEvaluated(schemaCxt, toName) { - const { it, gen } = this; - if (!it.opts.unevaluated) - return; - if (it.props !== true && schemaCxt.props !== void 0) { - it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName); - } - if (it.items !== true && schemaCxt.items !== void 0) { - it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName); - } - } - mergeValidEvaluated(schemaCxt, valid) { - const { it, gen } = this; - if (it.opts.unevaluated && (it.props !== true || it.items !== true)) { - gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name)); - return true; - } - } - }; - exports.KeywordCxt = KeywordCxt; - function keywordCode(it, keyword, def, ruleType) { - const cxt = new KeywordCxt(it, def, keyword); - if ("code" in def) { - def.code(cxt, ruleType); - } else if (cxt.$data && def.validate) { - (0, keyword_1.funcKeywordCode)(cxt, def); - } else if ("macro" in def) { - (0, keyword_1.macroKeywordCode)(cxt, def); - } else if (def.compile || def.validate) { - (0, keyword_1.funcKeywordCode)(cxt, def); - } - } - var JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/; - var RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/; - function getData($data, { dataLevel, dataNames, dataPathArr }) { - let jsonPointer; - let data; - if ($data === "") - return names_1.default.rootData; - if ($data[0] === "/") { - if (!JSON_POINTER.test($data)) - throw new Error(`Invalid JSON-pointer: ${$data}`); - jsonPointer = $data; - data = names_1.default.rootData; - } else { - const matches = RELATIVE_JSON_POINTER.exec($data); - if (!matches) - throw new Error(`Invalid JSON-pointer: ${$data}`); - const up = +matches[1]; - jsonPointer = matches[2]; - if (jsonPointer === "#") { - if (up >= dataLevel) - throw new Error(errorMsg("property/index", up)); - return dataPathArr[dataLevel - up]; - } - if (up > dataLevel) - throw new Error(errorMsg("data", up)); - data = dataNames[dataLevel - up]; - if (!jsonPointer) - return data; - } - let expr = data; - const segments = jsonPointer.split("/"); - for (const segment of segments) { - if (segment) { - data = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`; - expr = (0, codegen_1._)`${expr} && ${data}`; - } - } - return expr; - function errorMsg(pointerType, up) { - return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`; - } - } - exports.getData = getData; - } -}); - -// ../../node_modules/ajv/dist/runtime/validation_error.js -var require_validation_error = __commonJS({ - "../../node_modules/ajv/dist/runtime/validation_error.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var ValidationError2 = class extends Error { - constructor(errors) { - super("validation failed"); - this.errors = errors; - this.ajv = this.validation = true; - } - }; - exports.default = ValidationError2; - } -}); - -// ../../node_modules/ajv/dist/compile/ref_error.js -var require_ref_error = __commonJS({ - "../../node_modules/ajv/dist/compile/ref_error.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var resolve_1 = require_resolve(); - var MissingRefError = class extends Error { - constructor(resolver, baseId, ref, msg) { - super(msg || `can't resolve reference ${ref} from id ${baseId}`); - this.missingRef = (0, resolve_1.resolveUrl)(resolver, baseId, ref); - this.missingSchema = (0, resolve_1.normalizeId)((0, resolve_1.getFullPath)(resolver, this.missingRef)); - } - }; - exports.default = MissingRefError; - } -}); - -// ../../node_modules/ajv/dist/compile/index.js -var require_compile = __commonJS({ - "../../node_modules/ajv/dist/compile/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0; - var codegen_1 = require_codegen(); - var validation_error_1 = require_validation_error(); - var names_1 = require_names(); - var resolve_1 = require_resolve(); - var util_1 = require_util(); - var validate_1 = require_validate(); - var SchemaEnv = class { - constructor(env) { - var _a; - this.refs = {}; - this.dynamicAnchors = {}; - let schema; - if (typeof env.schema == "object") - schema = env.schema; - this.schema = env.schema; - this.schemaId = env.schemaId; - this.root = env.root || this; - this.baseId = (_a = env.baseId) !== null && _a !== void 0 ? _a : (0, resolve_1.normalizeId)(schema === null || schema === void 0 ? void 0 : schema[env.schemaId || "$id"]); - this.schemaPath = env.schemaPath; - this.localRefs = env.localRefs; - this.meta = env.meta; - this.$async = schema === null || schema === void 0 ? void 0 : schema.$async; - this.refs = {}; - } - }; - exports.SchemaEnv = SchemaEnv; - function compileSchema(sch) { - const _sch = getCompilingSchema.call(this, sch); - if (_sch) - return _sch; - const rootId = (0, resolve_1.getFullPath)(this.opts.uriResolver, sch.root.baseId); - const { es5, lines } = this.opts.code; - const { ownProperties } = this.opts; - const gen = new codegen_1.CodeGen(this.scope, { es5, lines, ownProperties }); - let _ValidationError; - if (sch.$async) { - _ValidationError = gen.scopeValue("Error", { - ref: validation_error_1.default, - code: (0, codegen_1._)`require("ajv/dist/runtime/validation_error").default` - }); - } - const validateName = gen.scopeName("validate"); - sch.validateName = validateName; - const schemaCxt = { - gen, - allErrors: this.opts.allErrors, - data: names_1.default.data, - parentData: names_1.default.parentData, - parentDataProperty: names_1.default.parentDataProperty, - dataNames: [names_1.default.data], - dataPathArr: [codegen_1.nil], - dataLevel: 0, - dataTypes: [], - definedProperties: /* @__PURE__ */ new Set(), - topSchemaRef: gen.scopeValue("schema", this.opts.code.source === true ? { ref: sch.schema, code: (0, codegen_1.stringify)(sch.schema) } : { ref: sch.schema }), - validateName, - ValidationError: _ValidationError, - schema: sch.schema, - schemaEnv: sch, - rootId, - baseId: sch.baseId || rootId, - schemaPath: codegen_1.nil, - errSchemaPath: sch.schemaPath || (this.opts.jtd ? "" : "#"), - errorPath: (0, codegen_1._)`""`, - opts: this.opts, - self: this - }; - let sourceCode; - try { - this._compilations.add(sch); - (0, validate_1.validateFunctionCode)(schemaCxt); - gen.optimize(this.opts.code.optimize); - const validateCode = gen.toString(); - sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${validateCode}`; - if (this.opts.code.process) - sourceCode = this.opts.code.process(sourceCode, sch); - const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode); - const validate = makeValidate(this, this.scope.get()); - this.scope.value(validateName, { ref: validate }); - validate.errors = null; - validate.schema = sch.schema; - validate.schemaEnv = sch; - if (sch.$async) - validate.$async = true; - if (this.opts.code.source === true) { - validate.source = { validateName, validateCode, scopeValues: gen._values }; - } - if (this.opts.unevaluated) { - const { props, items } = schemaCxt; - validate.evaluated = { - props: props instanceof codegen_1.Name ? void 0 : props, - items: items instanceof codegen_1.Name ? void 0 : items, - dynamicProps: props instanceof codegen_1.Name, - dynamicItems: items instanceof codegen_1.Name - }; - if (validate.source) - validate.source.evaluated = (0, codegen_1.stringify)(validate.evaluated); - } - sch.validate = validate; - return sch; - } catch (e) { - delete sch.validate; - delete sch.validateName; - if (sourceCode) - this.logger.error("Error compiling schema, function code:", sourceCode); - throw e; - } finally { - this._compilations.delete(sch); - } - } - exports.compileSchema = compileSchema; - function resolveRef(root, baseId, ref) { - var _a; - ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, ref); - const schOrFunc = root.refs[ref]; - if (schOrFunc) - return schOrFunc; - let _sch = resolve.call(this, root, ref); - if (_sch === void 0) { - const schema = (_a = root.localRefs) === null || _a === void 0 ? void 0 : _a[ref]; - const { schemaId } = this.opts; - if (schema) - _sch = new SchemaEnv({ schema, schemaId, root, baseId }); - } - if (_sch === void 0) - return; - return root.refs[ref] = inlineOrCompile.call(this, _sch); - } - exports.resolveRef = resolveRef; - function inlineOrCompile(sch) { - if ((0, resolve_1.inlineRef)(sch.schema, this.opts.inlineRefs)) - return sch.schema; - return sch.validate ? sch : compileSchema.call(this, sch); - } - function getCompilingSchema(schEnv) { - for (const sch of this._compilations) { - if (sameSchemaEnv(sch, schEnv)) - return sch; - } - } - exports.getCompilingSchema = getCompilingSchema; - function sameSchemaEnv(s1, s2) { - return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId; - } - function resolve(root, ref) { - let sch; - while (typeof (sch = this.refs[ref]) == "string") - ref = sch; - return sch || this.schemas[ref] || resolveSchema.call(this, root, ref); - } - function resolveSchema(root, ref) { - const p = this.opts.uriResolver.parse(ref); - const refPath = (0, resolve_1._getFullPath)(this.opts.uriResolver, p); - let baseId = (0, resolve_1.getFullPath)(this.opts.uriResolver, root.baseId, void 0); - if (Object.keys(root.schema).length > 0 && refPath === baseId) { - return getJsonPointer.call(this, p, root); - } - const id = (0, resolve_1.normalizeId)(refPath); - const schOrRef = this.refs[id] || this.schemas[id]; - if (typeof schOrRef == "string") { - const sch = resolveSchema.call(this, root, schOrRef); - if (typeof (sch === null || sch === void 0 ? void 0 : sch.schema) !== "object") - return; - return getJsonPointer.call(this, p, sch); - } - if (typeof (schOrRef === null || schOrRef === void 0 ? void 0 : schOrRef.schema) !== "object") - return; - if (!schOrRef.validate) - compileSchema.call(this, schOrRef); - if (id === (0, resolve_1.normalizeId)(ref)) { - const { schema } = schOrRef; - const { schemaId } = this.opts; - const schId = schema[schemaId]; - if (schId) - baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId); - return new SchemaEnv({ schema, schemaId, root, baseId }); - } - return getJsonPointer.call(this, p, schOrRef); - } - exports.resolveSchema = resolveSchema; - var PREVENT_SCOPE_CHANGE = /* @__PURE__ */ new Set([ - "properties", - "patternProperties", - "enum", - "dependencies", - "definitions" - ]); - function getJsonPointer(parsedRef, { baseId, schema, root }) { - var _a; - if (((_a = parsedRef.fragment) === null || _a === void 0 ? void 0 : _a[0]) !== "/") - return; - for (const part of parsedRef.fragment.slice(1).split("/")) { - if (typeof schema === "boolean") - return; - const partSchema = schema[(0, util_1.unescapeFragment)(part)]; - if (partSchema === void 0) - return; - schema = partSchema; - const schId = typeof schema === "object" && schema[this.opts.schemaId]; - if (!PREVENT_SCOPE_CHANGE.has(part) && schId) { - baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId); - } - } - let env; - if (typeof schema != "boolean" && schema.$ref && !(0, util_1.schemaHasRulesButRef)(schema, this.RULES)) { - const $ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schema.$ref); - env = resolveSchema.call(this, root, $ref); - } - const { schemaId } = this.opts; - env = env || new SchemaEnv({ schema, schemaId, root, baseId }); - if (env.schema !== env.root.schema) - return env; - return void 0; - } - } -}); - -// ../../node_modules/ajv/dist/refs/data.json -var require_data = __commonJS({ - "../../node_modules/ajv/dist/refs/data.json"(exports, module2) { - module2.exports = { - $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", - description: "Meta-schema for $data reference (JSON AnySchema extension proposal)", - type: "object", - required: ["$data"], - properties: { - $data: { - type: "string", - anyOf: [{ format: "relative-json-pointer" }, { format: "json-pointer" }] - } - }, - additionalProperties: false - }; - } -}); - -// ../../node_modules/uri-js/dist/es5/uri.all.js -var require_uri_all = __commonJS({ - "../../node_modules/uri-js/dist/es5/uri.all.js"(exports, module2) { - (function(global, factory) { - typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : factory(global.URI = global.URI || {}); - })(exports, function(exports2) { - "use strict"; - function merge() { - for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) { - sets[_key] = arguments[_key]; - } - if (sets.length > 1) { - sets[0] = sets[0].slice(0, -1); - var xl = sets.length - 1; - for (var x = 1; x < xl; ++x) { - sets[x] = sets[x].slice(1, -1); - } - sets[xl] = sets[xl].slice(1); - return sets.join(""); - } else { - return sets[0]; - } - } - function subexp(str) { - return "(?:" + str + ")"; - } - function typeOf(o) { - return o === void 0 ? "undefined" : o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase(); - } - function toUpperCase(str) { - return str.toUpperCase(); - } - function toArray(obj) { - return obj !== void 0 && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : []; - } - function assign(target, source) { - var obj = target; - if (source) { - for (var key in source) { - obj[key] = source[key]; - } - } - return obj; - } - function buildExps(isIRI2) { - var ALPHA$$ = "[A-Za-z]", CR$ = "[\\x0D]", DIGIT$$ = "[0-9]", DQUOTE$$ = "[\\x22]", HEXDIG$$2 = merge(DIGIT$$, "[A-Fa-f]"), LF$$ = "[\\x0A]", SP$$ = "[\\x20]", PCT_ENCODED$2 = subexp(subexp("%[EFef]" + HEXDIG$$2 + "%" + HEXDIG$$2 + HEXDIG$$2 + "%" + HEXDIG$$2 + HEXDIG$$2) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$2 + "%" + HEXDIG$$2 + HEXDIG$$2) + "|" + subexp("%" + HEXDIG$$2 + HEXDIG$$2)), GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), UCSCHAR$$ = isIRI2 ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", IPRIVATE$$ = isIRI2 ? "[\\uE000-\\uF8FF]" : "[]", UNRESERVED$$2 = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), USERINFO$ = subexp(subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\:]")) + "*"), DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), H16$ = subexp(HEXDIG$$2 + "{1,4}"), LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), ZONEID$ = subexp(subexp(UNRESERVED$$2 + "|" + PCT_ENCODED$2) + "+"), IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$2 + "{2})") + ZONEID$), IPVFUTURE$ = subexp("[vV]" + HEXDIG$$2 + "+\\." + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\:]") + "+"), IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), REG_NAME$ = subexp(subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$)) + "*"), HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")|" + REG_NAME$), PORT$ = subexp(DIGIT$$ + "*"), AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), PCHAR$ = subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\:\\@]")), SEGMENT$ = subexp(PCHAR$ + "*"), SEGMENT_NZ$ = subexp(PCHAR$ + "+"), SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\@]")) + "+"), PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), PATH_EMPTY$ = "(?!" + PCHAR$ + ")", PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; - return { - NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), - NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$2, SUB_DELIMS$$), "g"), - NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$2, SUB_DELIMS$$), "g"), - NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$2, SUB_DELIMS$$), "g"), - NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$2, SUB_DELIMS$$), "g"), - NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$2, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), - NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$2, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), - ESCAPE: new RegExp(merge("[^]", UNRESERVED$$2, SUB_DELIMS$$), "g"), - UNRESERVED: new RegExp(UNRESERVED$$2, "g"), - OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$2, RESERVED$$), "g"), - PCT_ENCODED: new RegExp(PCT_ENCODED$2, "g"), - IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), - IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$2 + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") - }; - } - var URI_PROTOCOL = buildExps(false); - var IRI_PROTOCOL = buildExps(true); - var slicedToArray = function() { - function sliceIterator(arr, i) { - var _arr = []; - var _n = true; - var _d = false; - var _e = void 0; - try { - for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - if (i && _arr.length === i) - break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"]) - _i["return"](); - } finally { - if (_d) - throw _e; - } - } - return _arr; - } - return function(arr, i) { - if (Array.isArray(arr)) { - return arr; - } else if (Symbol.iterator in Object(arr)) { - return sliceIterator(arr, i); - } else { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); - } - }; - }(); - var toConsumableArray = function(arr) { - if (Array.isArray(arr)) { - for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) - arr2[i] = arr[i]; - return arr2; - } else { - return Array.from(arr); - } - }; - var maxInt = 2147483647; - var base = 36; - var tMin = 1; - var tMax = 26; - var skew = 38; - var damp = 700; - var initialBias = 72; - var initialN = 128; - var delimiter = "-"; - var regexPunycode = /^xn--/; - var regexNonASCII = /[^\0-\x7E]/; - var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; - var errors = { - "overflow": "Overflow: input needs wider integers to process", - "not-basic": "Illegal input >= 0x80 (not a basic code point)", - "invalid-input": "Invalid input" - }; - var baseMinusTMin = base - tMin; - var floor = Math.floor; - var stringFromCharCode = String.fromCharCode; - function error$1(type) { - throw new RangeError(errors[type]); - } - function map(array, fn) { - var result = []; - var length = array.length; - while (length--) { - result[length] = fn(array[length]); - } - return result; - } - function mapDomain(string, fn) { - var parts = string.split("@"); - var result = ""; - if (parts.length > 1) { - result = parts[0] + "@"; - string = parts[1]; - } - string = string.replace(regexSeparators, "."); - var labels = string.split("."); - var encoded = map(labels, fn).join("."); - return result + encoded; - } - function ucs2decode(string) { - var output = []; - var counter = 0; - var length = string.length; - while (counter < length) { - var value = string.charCodeAt(counter++); - if (value >= 55296 && value <= 56319 && counter < length) { - var extra = string.charCodeAt(counter++); - if ((extra & 64512) == 56320) { - output.push(((value & 1023) << 10) + (extra & 1023) + 65536); - } else { - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - } - var ucs2encode = function ucs2encode2(array) { - return String.fromCodePoint.apply(String, toConsumableArray(array)); - }; - var basicToDigit = function basicToDigit2(codePoint) { - if (codePoint - 48 < 10) { - return codePoint - 22; - } - if (codePoint - 65 < 26) { - return codePoint - 65; - } - if (codePoint - 97 < 26) { - return codePoint - 97; - } - return base; - }; - var digitToBasic = function digitToBasic2(digit, flag) { - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); - }; - var adapt = function adapt2(delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); - }; - var decode = function decode2(input) { - var output = []; - var inputLength = input.length; - var i = 0; - var n = initialN; - var bias = initialBias; - var basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - for (var j = 0; j < basic; ++j) { - if (input.charCodeAt(j) >= 128) { - error$1("not-basic"); - } - output.push(input.charCodeAt(j)); - } - for (var index = basic > 0 ? basic + 1 : 0; index < inputLength; ) { - var oldi = i; - for (var w = 1, k = base; ; k += base) { - if (index >= inputLength) { - error$1("invalid-input"); - } - var digit = basicToDigit(input.charCodeAt(index++)); - if (digit >= base || digit > floor((maxInt - i) / w)) { - error$1("overflow"); - } - i += digit * w; - var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - if (digit < t) { - break; - } - var baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error$1("overflow"); - } - w *= baseMinusT; - } - var out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - if (floor(i / out) > maxInt - n) { - error$1("overflow"); - } - n += floor(i / out); - i %= out; - output.splice(i++, 0, n); - } - return String.fromCodePoint.apply(String, output); - }; - var encode = function encode2(input) { - var output = []; - input = ucs2decode(input); - var inputLength = input.length; - var n = initialN; - var delta = 0; - var bias = initialBias; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = void 0; - try { - for (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _currentValue2 = _step.value; - if (_currentValue2 < 128) { - output.push(stringFromCharCode(_currentValue2)); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - var basicLength = output.length; - var handledCPCount = basicLength; - if (basicLength) { - output.push(delimiter); - } - while (handledCPCount < inputLength) { - var m = maxInt; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = void 0; - try { - for (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var currentValue = _step2.value; - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - var handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error$1("overflow"); - } - delta += (m - n) * handledCPCountPlusOne; - n = m; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = void 0; - try { - for (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var _currentValue = _step3.value; - if (_currentValue < n && ++delta > maxInt) { - error$1("overflow"); - } - if (_currentValue == n) { - var q = delta; - for (var k = base; ; k += base) { - var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - if (q < t) { - break; - } - var qMinusT = q - t; - var baseMinusT = base - t; - output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); - q = floor(qMinusT / baseMinusT); - } - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - ++delta; - ++n; - } - return output.join(""); - }; - var toUnicode = function toUnicode2(input) { - return mapDomain(input, function(string) { - return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; - }); - }; - var toASCII = function toASCII2(input) { - return mapDomain(input, function(string) { - return regexNonASCII.test(string) ? "xn--" + encode(string) : string; - }); - }; - var punycode = { - "version": "2.1.0", - "ucs2": { - "decode": ucs2decode, - "encode": ucs2encode - }, - "decode": decode, - "encode": encode, - "toASCII": toASCII, - "toUnicode": toUnicode - }; - var SCHEMES = {}; - function pctEncChar(chr) { - var c = chr.charCodeAt(0); - var e = void 0; - if (c < 16) - e = "%0" + c.toString(16).toUpperCase(); - else if (c < 128) - e = "%" + c.toString(16).toUpperCase(); - else if (c < 2048) - e = "%" + (c >> 6 | 192).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); - else - e = "%" + (c >> 12 | 224).toString(16).toUpperCase() + "%" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); - return e; - } - function pctDecChars(str) { - var newStr = ""; - var i = 0; - var il = str.length; - while (i < il) { - var c = parseInt(str.substr(i + 1, 2), 16); - if (c < 128) { - newStr += String.fromCharCode(c); - i += 3; - } else if (c >= 194 && c < 224) { - if (il - i >= 6) { - var c2 = parseInt(str.substr(i + 4, 2), 16); - newStr += String.fromCharCode((c & 31) << 6 | c2 & 63); - } else { - newStr += str.substr(i, 6); - } - i += 6; - } else if (c >= 224) { - if (il - i >= 9) { - var _c = parseInt(str.substr(i + 4, 2), 16); - var c3 = parseInt(str.substr(i + 7, 2), 16); - newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63); - } else { - newStr += str.substr(i, 9); - } - i += 9; - } else { - newStr += str.substr(i, 3); - i += 3; - } - } - return newStr; - } - function _normalizeComponentEncoding(components, protocol) { - function decodeUnreserved2(str) { - var decStr = pctDecChars(str); - return !decStr.match(protocol.UNRESERVED) ? str : decStr; - } - if (components.scheme) - components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved2).toLowerCase().replace(protocol.NOT_SCHEME, ""); - if (components.userinfo !== void 0) - components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.host !== void 0) - components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved2).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.path !== void 0) - components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.query !== void 0) - components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.fragment !== void 0) - components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - return components; - } - function _stripLeadingZeros(str) { - return str.replace(/^0*(.*)/, "$1") || "0"; - } - function _normalizeIPv4(host, protocol) { - var matches = host.match(protocol.IPV4ADDRESS) || []; - var _matches = slicedToArray(matches, 2), address = _matches[1]; - if (address) { - return address.split(".").map(_stripLeadingZeros).join("."); - } else { - return host; - } - } - function _normalizeIPv6(host, protocol) { - var matches = host.match(protocol.IPV6ADDRESS) || []; - var _matches2 = slicedToArray(matches, 3), address = _matches2[1], zone = _matches2[2]; - if (address) { - var _address$toLowerCase$ = address.toLowerCase().split("::").reverse(), _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), last = _address$toLowerCase$2[0], first = _address$toLowerCase$2[1]; - var firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; - var lastFields = last.split(":").map(_stripLeadingZeros); - var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); - var fieldCount = isLastFieldIPv4Address ? 7 : 8; - var lastFieldsStart = lastFields.length - fieldCount; - var fields = Array(fieldCount); - for (var x = 0; x < fieldCount; ++x) { - fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ""; - } - if (isLastFieldIPv4Address) { - fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); - } - var allZeroFields = fields.reduce(function(acc, field, index) { - if (!field || field === "0") { - var lastLongest = acc[acc.length - 1]; - if (lastLongest && lastLongest.index + lastLongest.length === index) { - lastLongest.length++; - } else { - acc.push({ index, length: 1 }); - } - } - return acc; - }, []); - var longestZeroFields = allZeroFields.sort(function(a, b) { - return b.length - a.length; - })[0]; - var newHost = void 0; - if (longestZeroFields && longestZeroFields.length > 1) { - var newFirst = fields.slice(0, longestZeroFields.index); - var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); - newHost = newFirst.join(":") + "::" + newLast.join(":"); - } else { - newHost = fields.join(":"); - } - if (zone) { - newHost += "%" + zone; - } - return newHost; - } else { - return host; - } - } - var URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; - var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === void 0; - function parse(uriString) { - var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var components = {}; - var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; - if (options.reference === "suffix") - uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; - var matches = uriString.match(URI_PARSE); - if (matches) { - if (NO_MATCH_IS_UNDEFINED) { - components.scheme = matches[1]; - components.userinfo = matches[3]; - components.host = matches[4]; - components.port = parseInt(matches[5], 10); - components.path = matches[6] || ""; - components.query = matches[7]; - components.fragment = matches[8]; - if (isNaN(components.port)) { - components.port = matches[5]; - } - } else { - components.scheme = matches[1] || void 0; - components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : void 0; - components.host = uriString.indexOf("//") !== -1 ? matches[4] : void 0; - components.port = parseInt(matches[5], 10); - components.path = matches[6] || ""; - components.query = uriString.indexOf("?") !== -1 ? matches[7] : void 0; - components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : void 0; - if (isNaN(components.port)) { - components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : void 0; - } - } - if (components.host) { - components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); - } - if (components.scheme === void 0 && components.userinfo === void 0 && components.host === void 0 && components.port === void 0 && !components.path && components.query === void 0) { - components.reference = "same-document"; - } else if (components.scheme === void 0) { - components.reference = "relative"; - } else if (components.fragment === void 0) { - components.reference = "absolute"; - } else { - components.reference = "uri"; - } - if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { - components.error = components.error || "URI is not a " + options.reference + " reference."; - } - var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; - if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { - if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) { - try { - components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); - } catch (e) { - components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; - } - } - _normalizeComponentEncoding(components, URI_PROTOCOL); - } else { - _normalizeComponentEncoding(components, protocol); - } - if (schemeHandler && schemeHandler.parse) { - schemeHandler.parse(components, options); - } - } else { - components.error = components.error || "URI can not be parsed."; - } - return components; - } - function _recomposeAuthority(components, options) { - var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; - var uriTokens = []; - if (components.userinfo !== void 0) { - uriTokens.push(components.userinfo); - uriTokens.push("@"); - } - if (components.host !== void 0) { - uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function(_, $1, $2) { - return "[" + $1 + ($2 ? "%25" + $2 : "") + "]"; - })); - } - if (typeof components.port === "number" || typeof components.port === "string") { - uriTokens.push(":"); - uriTokens.push(String(components.port)); - } - return uriTokens.length ? uriTokens.join("") : void 0; - } - var RDS1 = /^\.\.?\//; - var RDS2 = /^\/\.(\/|$)/; - var RDS3 = /^\/\.\.(\/|$)/; - var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; - function removeDotSegments(input) { - var output = []; - while (input.length) { - if (input.match(RDS1)) { - input = input.replace(RDS1, ""); - } else if (input.match(RDS2)) { - input = input.replace(RDS2, "/"); - } else if (input.match(RDS3)) { - input = input.replace(RDS3, "/"); - output.pop(); - } else if (input === "." || input === "..") { - input = ""; - } else { - var im = input.match(RDS5); - if (im) { - var s = im[0]; - input = input.slice(s.length); - output.push(s); - } else { - throw new Error("Unexpected dot segment condition"); - } - } - } - return output.join(""); - } - function serialize(components) { - var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL; - var uriTokens = []; - var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; - if (schemeHandler && schemeHandler.serialize) - schemeHandler.serialize(components, options); - if (components.host) { - if (protocol.IPV6ADDRESS.test(components.host)) { - } else if (options.domainHost || schemeHandler && schemeHandler.domainHost) { - try { - components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host); - } catch (e) { - components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; - } - } - } - _normalizeComponentEncoding(components, protocol); - if (options.reference !== "suffix" && components.scheme) { - uriTokens.push(components.scheme); - uriTokens.push(":"); - } - var authority = _recomposeAuthority(components, options); - if (authority !== void 0) { - if (options.reference !== "suffix") { - uriTokens.push("//"); - } - uriTokens.push(authority); - if (components.path && components.path.charAt(0) !== "/") { - uriTokens.push("/"); - } - } - if (components.path !== void 0) { - var s = components.path; - if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { - s = removeDotSegments(s); - } - if (authority === void 0) { - s = s.replace(/^\/\//, "/%2F"); - } - uriTokens.push(s); - } - if (components.query !== void 0) { - uriTokens.push("?"); - uriTokens.push(components.query); - } - if (components.fragment !== void 0) { - uriTokens.push("#"); - uriTokens.push(components.fragment); - } - return uriTokens.join(""); - } - function resolveComponents(base2, relative) { - var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; - var skipNormalization = arguments[3]; - var target = {}; - if (!skipNormalization) { - base2 = parse(serialize(base2, options), options); - relative = parse(serialize(relative, options), options); - } - options = options || {}; - if (!options.tolerant && relative.scheme) { - target.scheme = relative.scheme; - target.userinfo = relative.userinfo; - target.host = relative.host; - target.port = relative.port; - target.path = removeDotSegments(relative.path || ""); - target.query = relative.query; - } else { - if (relative.userinfo !== void 0 || relative.host !== void 0 || relative.port !== void 0) { - target.userinfo = relative.userinfo; - target.host = relative.host; - target.port = relative.port; - target.path = removeDotSegments(relative.path || ""); - target.query = relative.query; - } else { - if (!relative.path) { - target.path = base2.path; - if (relative.query !== void 0) { - target.query = relative.query; - } else { - target.query = base2.query; - } - } else { - if (relative.path.charAt(0) === "/") { - target.path = removeDotSegments(relative.path); - } else { - if ((base2.userinfo !== void 0 || base2.host !== void 0 || base2.port !== void 0) && !base2.path) { - target.path = "/" + relative.path; - } else if (!base2.path) { - target.path = relative.path; - } else { - target.path = base2.path.slice(0, base2.path.lastIndexOf("/") + 1) + relative.path; - } - target.path = removeDotSegments(target.path); - } - target.query = relative.query; - } - target.userinfo = base2.userinfo; - target.host = base2.host; - target.port = base2.port; - } - target.scheme = base2.scheme; - } - target.fragment = relative.fragment; - return target; - } - function resolve(baseURI, relativeURI, options) { - var schemelessOptions = assign({ scheme: "null" }, options); - return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); - } - function normalize(uri, options) { - if (typeof uri === "string") { - uri = serialize(parse(uri, options), options); - } else if (typeOf(uri) === "object") { - uri = parse(serialize(uri, options), options); - } - return uri; - } - function equal(uriA, uriB, options) { - if (typeof uriA === "string") { - uriA = serialize(parse(uriA, options), options); - } else if (typeOf(uriA) === "object") { - uriA = serialize(uriA, options); - } - if (typeof uriB === "string") { - uriB = serialize(parse(uriB, options), options); - } else if (typeOf(uriB) === "object") { - uriB = serialize(uriB, options); - } - return uriA === uriB; - } - function escapeComponent(str, options) { - return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar); - } - function unescapeComponent(str, options) { - return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars); - } - var handler = { - scheme: "http", - domainHost: true, - parse: function parse2(components, options) { - if (!components.host) { - components.error = components.error || "HTTP URIs must have a host."; - } - return components; - }, - serialize: function serialize2(components, options) { - var secure = String(components.scheme).toLowerCase() === "https"; - if (components.port === (secure ? 443 : 80) || components.port === "") { - components.port = void 0; - } - if (!components.path) { - components.path = "/"; - } - return components; - } - }; - var handler$1 = { - scheme: "https", - domainHost: handler.domainHost, - parse: handler.parse, - serialize: handler.serialize - }; - function isSecure(wsComponents) { - return typeof wsComponents.secure === "boolean" ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss"; - } - var handler$2 = { - scheme: "ws", - domainHost: true, - parse: function parse2(components, options) { - var wsComponents = components; - wsComponents.secure = isSecure(wsComponents); - wsComponents.resourceName = (wsComponents.path || "/") + (wsComponents.query ? "?" + wsComponents.query : ""); - wsComponents.path = void 0; - wsComponents.query = void 0; - return wsComponents; - }, - serialize: function serialize2(wsComponents, options) { - if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") { - wsComponents.port = void 0; - } - if (typeof wsComponents.secure === "boolean") { - wsComponents.scheme = wsComponents.secure ? "wss" : "ws"; - wsComponents.secure = void 0; - } - if (wsComponents.resourceName) { - var _wsComponents$resourc = wsComponents.resourceName.split("?"), _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2), path = _wsComponents$resourc2[0], query = _wsComponents$resourc2[1]; - wsComponents.path = path && path !== "/" ? path : void 0; - wsComponents.query = query; - wsComponents.resourceName = void 0; - } - wsComponents.fragment = void 0; - return wsComponents; - } - }; - var handler$3 = { - scheme: "wss", - domainHost: handler$2.domainHost, - parse: handler$2.parse, - serialize: handler$2.serialize - }; - var O = {}; - var isIRI = true; - var UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; - var HEXDIG$$ = "[0-9A-Fa-f]"; - var PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); - var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; - var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; - var VCHAR$$ = merge(QTEXT$$, '[\\"\\\\]'); - var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; - var UNRESERVED = new RegExp(UNRESERVED$$, "g"); - var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); - var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); - var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); - var NOT_HFVALUE = NOT_HFNAME; - function decodeUnreserved(str) { - var decStr = pctDecChars(str); - return !decStr.match(UNRESERVED) ? str : decStr; - } - var handler$4 = { - scheme: "mailto", - parse: function parse$$1(components, options) { - var mailtoComponents = components; - var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : []; - mailtoComponents.path = void 0; - if (mailtoComponents.query) { - var unknownHeaders = false; - var headers = {}; - var hfields = mailtoComponents.query.split("&"); - for (var x = 0, xl = hfields.length; x < xl; ++x) { - var hfield = hfields[x].split("="); - switch (hfield[0]) { - case "to": - var toAddrs = hfield[1].split(","); - for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) { - to.push(toAddrs[_x]); - } - break; - case "subject": - mailtoComponents.subject = unescapeComponent(hfield[1], options); - break; - case "body": - mailtoComponents.body = unescapeComponent(hfield[1], options); - break; - default: - unknownHeaders = true; - headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); - break; - } - } - if (unknownHeaders) - mailtoComponents.headers = headers; - } - mailtoComponents.query = void 0; - for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) { - var addr = to[_x2].split("@"); - addr[0] = unescapeComponent(addr[0]); - if (!options.unicodeSupport) { - try { - addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); - } catch (e) { - mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; - } - } else { - addr[1] = unescapeComponent(addr[1], options).toLowerCase(); - } - to[_x2] = addr.join("@"); - } - return mailtoComponents; - }, - serialize: function serialize$$1(mailtoComponents, options) { - var components = mailtoComponents; - var to = toArray(mailtoComponents.to); - if (to) { - for (var x = 0, xl = to.length; x < xl; ++x) { - var toAddr = String(to[x]); - var atIdx = toAddr.lastIndexOf("@"); - var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); - var domain = toAddr.slice(atIdx + 1); - try { - domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain); - } catch (e) { - components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; - } - to[x] = localPart + "@" + domain; - } - components.path = to.join(","); - } - var headers = mailtoComponents.headers = mailtoComponents.headers || {}; - if (mailtoComponents.subject) - headers["subject"] = mailtoComponents.subject; - if (mailtoComponents.body) - headers["body"] = mailtoComponents.body; - var fields = []; - for (var name in headers) { - if (headers[name] !== O[name]) { - fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + "=" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); - } - } - if (fields.length) { - components.query = fields.join("&"); - } - return components; - } - }; - var URN_PARSE = /^([^\:]+)\:(.*)/; - var handler$5 = { - scheme: "urn", - parse: function parse$$1(components, options) { - var matches = components.path && components.path.match(URN_PARSE); - var urnComponents = components; - if (matches) { - var scheme = options.scheme || urnComponents.scheme || "urn"; - var nid = matches[1].toLowerCase(); - var nss = matches[2]; - var urnScheme = scheme + ":" + (options.nid || nid); - var schemeHandler = SCHEMES[urnScheme]; - urnComponents.nid = nid; - urnComponents.nss = nss; - urnComponents.path = void 0; - if (schemeHandler) { - urnComponents = schemeHandler.parse(urnComponents, options); - } - } else { - urnComponents.error = urnComponents.error || "URN can not be parsed."; - } - return urnComponents; - }, - serialize: function serialize$$1(urnComponents, options) { - var scheme = options.scheme || urnComponents.scheme || "urn"; - var nid = urnComponents.nid; - var urnScheme = scheme + ":" + (options.nid || nid); - var schemeHandler = SCHEMES[urnScheme]; - if (schemeHandler) { - urnComponents = schemeHandler.serialize(urnComponents, options); - } - var uriComponents = urnComponents; - var nss = urnComponents.nss; - uriComponents.path = (nid || options.nid) + ":" + nss; - return uriComponents; - } - }; - var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; - var handler$6 = { - scheme: "urn:uuid", - parse: function parse2(urnComponents, options) { - var uuidComponents = urnComponents; - uuidComponents.uuid = uuidComponents.nss; - uuidComponents.nss = void 0; - if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { - uuidComponents.error = uuidComponents.error || "UUID is not valid."; - } - return uuidComponents; - }, - serialize: function serialize2(uuidComponents, options) { - var urnComponents = uuidComponents; - urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); - return urnComponents; - } - }; - SCHEMES[handler.scheme] = handler; - SCHEMES[handler$1.scheme] = handler$1; - SCHEMES[handler$2.scheme] = handler$2; - SCHEMES[handler$3.scheme] = handler$3; - SCHEMES[handler$4.scheme] = handler$4; - SCHEMES[handler$5.scheme] = handler$5; - SCHEMES[handler$6.scheme] = handler$6; - exports2.SCHEMES = SCHEMES; - exports2.pctEncChar = pctEncChar; - exports2.pctDecChars = pctDecChars; - exports2.parse = parse; - exports2.removeDotSegments = removeDotSegments; - exports2.serialize = serialize; - exports2.resolveComponents = resolveComponents; - exports2.resolve = resolve; - exports2.normalize = normalize; - exports2.equal = equal; - exports2.escapeComponent = escapeComponent; - exports2.unescapeComponent = unescapeComponent; - Object.defineProperty(exports2, "__esModule", { value: true }); - }); - } -}); - -// ../../node_modules/ajv/dist/runtime/uri.js -var require_uri = __commonJS({ - "../../node_modules/ajv/dist/runtime/uri.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var uri = require_uri_all(); - uri.code = 'require("ajv/dist/runtime/uri").default'; - exports.default = uri; - } -}); - -// ../../node_modules/ajv/dist/core.js -var require_core = __commonJS({ - "../../node_modules/ajv/dist/core.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0; - var validate_1 = require_validate(); - Object.defineProperty(exports, "KeywordCxt", { enumerable: true, get: function() { - return validate_1.KeywordCxt; - } }); - var codegen_1 = require_codegen(); - Object.defineProperty(exports, "_", { enumerable: true, get: function() { - return codegen_1._; - } }); - Object.defineProperty(exports, "str", { enumerable: true, get: function() { - return codegen_1.str; - } }); - Object.defineProperty(exports, "stringify", { enumerable: true, get: function() { - return codegen_1.stringify; - } }); - Object.defineProperty(exports, "nil", { enumerable: true, get: function() { - return codegen_1.nil; - } }); - Object.defineProperty(exports, "Name", { enumerable: true, get: function() { - return codegen_1.Name; - } }); - Object.defineProperty(exports, "CodeGen", { enumerable: true, get: function() { - return codegen_1.CodeGen; - } }); - var validation_error_1 = require_validation_error(); - var ref_error_1 = require_ref_error(); - var rules_1 = require_rules(); - var compile_1 = require_compile(); - var codegen_2 = require_codegen(); - var resolve_1 = require_resolve(); - var dataType_1 = require_dataType(); - var util_1 = require_util(); - var $dataRefSchema = require_data(); - var uri_1 = require_uri(); - var defaultRegExp = (str, flags) => new RegExp(str, flags); - defaultRegExp.code = "new RegExp"; - var META_IGNORE_OPTIONS = ["removeAdditional", "useDefaults", "coerceTypes"]; - var EXT_SCOPE_NAMES = /* @__PURE__ */ new Set([ - "validate", - "serialize", - "parse", - "wrapper", - "root", - "schema", - "keyword", - "pattern", - "formats", - "validate$data", - "func", - "obj", - "Error" - ]); - var removedOptions = { - errorDataPath: "", - format: "`validateFormats: false` can be used instead.", - nullable: '"nullable" keyword is supported by default.', - jsonPointers: "Deprecated jsPropertySyntax can be used instead.", - extendRefs: "Deprecated ignoreKeywordsWithRef can be used instead.", - missingRefs: "Pass empty schema with $id that should be ignored to ajv.addSchema.", - processCode: "Use option `code: {process: (code, schemaEnv: object) => string}`", - sourceCode: "Use option `code: {source: true}`", - strictDefaults: "It is default now, see option `strict`.", - strictKeywords: "It is default now, see option `strict`.", - uniqueItems: '"uniqueItems" keyword is always validated.', - unknownFormats: "Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).", - cache: "Map is used as cache, schema object as key.", - serialize: "Map is used as cache, schema object as key.", - ajvErrors: "It is default now." - }; - var deprecatedOptions = { - ignoreKeywordsWithRef: "", - jsPropertySyntax: "", - unicode: '"minLength"/"maxLength" account for unicode characters by default.' - }; - var MAX_EXPRESSION = 200; - function requiredOptions(o) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0; - const s = o.strict; - const _optz = (_a = o.code) === null || _a === void 0 ? void 0 : _a.optimize; - const optimize = _optz === true || _optz === void 0 ? 1 : _optz || 0; - const regExp = (_c = (_b = o.code) === null || _b === void 0 ? void 0 : _b.regExp) !== null && _c !== void 0 ? _c : defaultRegExp; - const uriResolver = (_d = o.uriResolver) !== null && _d !== void 0 ? _d : uri_1.default; - return { - strictSchema: (_f = (_e = o.strictSchema) !== null && _e !== void 0 ? _e : s) !== null && _f !== void 0 ? _f : true, - strictNumbers: (_h = (_g = o.strictNumbers) !== null && _g !== void 0 ? _g : s) !== null && _h !== void 0 ? _h : true, - strictTypes: (_k = (_j = o.strictTypes) !== null && _j !== void 0 ? _j : s) !== null && _k !== void 0 ? _k : "log", - strictTuples: (_m = (_l = o.strictTuples) !== null && _l !== void 0 ? _l : s) !== null && _m !== void 0 ? _m : "log", - strictRequired: (_p = (_o = o.strictRequired) !== null && _o !== void 0 ? _o : s) !== null && _p !== void 0 ? _p : false, - code: o.code ? { ...o.code, optimize, regExp } : { optimize, regExp }, - loopRequired: (_q = o.loopRequired) !== null && _q !== void 0 ? _q : MAX_EXPRESSION, - loopEnum: (_r = o.loopEnum) !== null && _r !== void 0 ? _r : MAX_EXPRESSION, - meta: (_s = o.meta) !== null && _s !== void 0 ? _s : true, - messages: (_t = o.messages) !== null && _t !== void 0 ? _t : true, - inlineRefs: (_u = o.inlineRefs) !== null && _u !== void 0 ? _u : true, - schemaId: (_v = o.schemaId) !== null && _v !== void 0 ? _v : "$id", - addUsedSchema: (_w = o.addUsedSchema) !== null && _w !== void 0 ? _w : true, - validateSchema: (_x = o.validateSchema) !== null && _x !== void 0 ? _x : true, - validateFormats: (_y = o.validateFormats) !== null && _y !== void 0 ? _y : true, - unicodeRegExp: (_z = o.unicodeRegExp) !== null && _z !== void 0 ? _z : true, - int32range: (_0 = o.int32range) !== null && _0 !== void 0 ? _0 : true, - uriResolver - }; - } - var Ajv3 = class { - constructor(opts = {}) { - this.schemas = {}; - this.refs = {}; - this.formats = {}; - this._compilations = /* @__PURE__ */ new Set(); - this._loading = {}; - this._cache = /* @__PURE__ */ new Map(); - opts = this.opts = { ...opts, ...requiredOptions(opts) }; - const { es5, lines } = this.opts.code; - this.scope = new codegen_2.ValueScope({ scope: {}, prefixes: EXT_SCOPE_NAMES, es5, lines }); - this.logger = getLogger(opts.logger); - const formatOpt = opts.validateFormats; - opts.validateFormats = false; - this.RULES = (0, rules_1.getRules)(); - checkOptions.call(this, removedOptions, opts, "NOT SUPPORTED"); - checkOptions.call(this, deprecatedOptions, opts, "DEPRECATED", "warn"); - this._metaOpts = getMetaSchemaOptions.call(this); - if (opts.formats) - addInitialFormats.call(this); - this._addVocabularies(); - this._addDefaultMetaSchema(); - if (opts.keywords) - addInitialKeywords.call(this, opts.keywords); - if (typeof opts.meta == "object") - this.addMetaSchema(opts.meta); - addInitialSchemas.call(this); - opts.validateFormats = formatOpt; - } - _addVocabularies() { - this.addKeyword("$async"); - } - _addDefaultMetaSchema() { - const { $data, meta, schemaId } = this.opts; - let _dataRefSchema = $dataRefSchema; - if (schemaId === "id") { - _dataRefSchema = { ...$dataRefSchema }; - _dataRefSchema.id = _dataRefSchema.$id; - delete _dataRefSchema.$id; - } - if (meta && $data) - this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false); - } - defaultMeta() { - const { meta, schemaId } = this.opts; - return this.opts.defaultMeta = typeof meta == "object" ? meta[schemaId] || meta : void 0; - } - validate(schemaKeyRef, data) { - let v; - if (typeof schemaKeyRef == "string") { - v = this.getSchema(schemaKeyRef); - if (!v) - throw new Error(`no schema with key or ref "${schemaKeyRef}"`); - } else { - v = this.compile(schemaKeyRef); - } - const valid = v(data); - if (!("$async" in v)) - this.errors = v.errors; - return valid; - } - compile(schema, _meta) { - const sch = this._addSchema(schema, _meta); - return sch.validate || this._compileSchemaEnv(sch); - } - compileAsync(schema, meta) { - if (typeof this.opts.loadSchema != "function") { - throw new Error("options.loadSchema should be a function"); - } - const { loadSchema } = this.opts; - return runCompileAsync.call(this, schema, meta); - async function runCompileAsync(_schema, _meta) { - await loadMetaSchema.call(this, _schema.$schema); - const sch = this._addSchema(_schema, _meta); - return sch.validate || _compileAsync.call(this, sch); - } - async function loadMetaSchema($ref) { - if ($ref && !this.getSchema($ref)) { - await runCompileAsync.call(this, { $ref }, true); - } - } - async function _compileAsync(sch) { - try { - return this._compileSchemaEnv(sch); - } catch (e) { - if (!(e instanceof ref_error_1.default)) - throw e; - checkLoaded.call(this, e); - await loadMissingSchema.call(this, e.missingSchema); - return _compileAsync.call(this, sch); - } - } - function checkLoaded({ missingSchema: ref, missingRef }) { - if (this.refs[ref]) { - throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`); - } - } - async function loadMissingSchema(ref) { - const _schema = await _loadSchema.call(this, ref); - if (!this.refs[ref]) - await loadMetaSchema.call(this, _schema.$schema); - if (!this.refs[ref]) - this.addSchema(_schema, ref, meta); - } - async function _loadSchema(ref) { - const p = this._loading[ref]; - if (p) - return p; - try { - return await (this._loading[ref] = loadSchema(ref)); - } finally { - delete this._loading[ref]; - } - } - } - addSchema(schema, key, _meta, _validateSchema = this.opts.validateSchema) { - if (Array.isArray(schema)) { - for (const sch of schema) - this.addSchema(sch, void 0, _meta, _validateSchema); - return this; - } - let id; - if (typeof schema === "object") { - const { schemaId } = this.opts; - id = schema[schemaId]; - if (id !== void 0 && typeof id != "string") { - throw new Error(`schema ${schemaId} must be string`); - } - } - key = (0, resolve_1.normalizeId)(key || id); - this._checkUnique(key); - this.schemas[key] = this._addSchema(schema, _meta, key, _validateSchema, true); - return this; - } - addMetaSchema(schema, key, _validateSchema = this.opts.validateSchema) { - this.addSchema(schema, key, true, _validateSchema); - return this; - } - validateSchema(schema, throwOrLogError) { - if (typeof schema == "boolean") - return true; - let $schema; - $schema = schema.$schema; - if ($schema !== void 0 && typeof $schema != "string") { - throw new Error("$schema must be a string"); - } - $schema = $schema || this.opts.defaultMeta || this.defaultMeta(); - if (!$schema) { - this.logger.warn("meta-schema not available"); - this.errors = null; - return true; - } - const valid = this.validate($schema, schema); - if (!valid && throwOrLogError) { - const message = "schema is invalid: " + this.errorsText(); - if (this.opts.validateSchema === "log") - this.logger.error(message); - else - throw new Error(message); - } - return valid; - } - getSchema(keyRef) { - let sch; - while (typeof (sch = getSchEnv.call(this, keyRef)) == "string") - keyRef = sch; - if (sch === void 0) { - const { schemaId } = this.opts; - const root = new compile_1.SchemaEnv({ schema: {}, schemaId }); - sch = compile_1.resolveSchema.call(this, root, keyRef); - if (!sch) - return; - this.refs[keyRef] = sch; - } - return sch.validate || this._compileSchemaEnv(sch); - } - removeSchema(schemaKeyRef) { - if (schemaKeyRef instanceof RegExp) { - this._removeAllSchemas(this.schemas, schemaKeyRef); - this._removeAllSchemas(this.refs, schemaKeyRef); - return this; - } - switch (typeof schemaKeyRef) { - case "undefined": - this._removeAllSchemas(this.schemas); - this._removeAllSchemas(this.refs); - this._cache.clear(); - return this; - case "string": { - const sch = getSchEnv.call(this, schemaKeyRef); - if (typeof sch == "object") - this._cache.delete(sch.schema); - delete this.schemas[schemaKeyRef]; - delete this.refs[schemaKeyRef]; - return this; - } - case "object": { - const cacheKey = schemaKeyRef; - this._cache.delete(cacheKey); - let id = schemaKeyRef[this.opts.schemaId]; - if (id) { - id = (0, resolve_1.normalizeId)(id); - delete this.schemas[id]; - delete this.refs[id]; - } - return this; - } - default: - throw new Error("ajv.removeSchema: invalid parameter"); - } - } - addVocabulary(definitions) { - for (const def of definitions) - this.addKeyword(def); - return this; - } - addKeyword(kwdOrDef, def) { - let keyword; - if (typeof kwdOrDef == "string") { - keyword = kwdOrDef; - if (typeof def == "object") { - this.logger.warn("these parameters are deprecated, see docs for addKeyword"); - def.keyword = keyword; - } - } else if (typeof kwdOrDef == "object" && def === void 0) { - def = kwdOrDef; - keyword = def.keyword; - if (Array.isArray(keyword) && !keyword.length) { - throw new Error("addKeywords: keyword must be string or non-empty array"); - } - } else { - throw new Error("invalid addKeywords parameters"); - } - checkKeyword.call(this, keyword, def); - if (!def) { - (0, util_1.eachItem)(keyword, (kwd) => addRule.call(this, kwd)); - return this; - } - keywordMetaschema.call(this, def); - const definition = { - ...def, - type: (0, dataType_1.getJSONTypes)(def.type), - schemaType: (0, dataType_1.getJSONTypes)(def.schemaType) - }; - (0, util_1.eachItem)(keyword, definition.type.length === 0 ? (k) => addRule.call(this, k, definition) : (k) => definition.type.forEach((t) => addRule.call(this, k, definition, t))); - return this; - } - getKeyword(keyword) { - const rule = this.RULES.all[keyword]; - return typeof rule == "object" ? rule.definition : !!rule; - } - removeKeyword(keyword) { - const { RULES } = this; - delete RULES.keywords[keyword]; - delete RULES.all[keyword]; - for (const group of RULES.rules) { - const i = group.rules.findIndex((rule) => rule.keyword === keyword); - if (i >= 0) - group.rules.splice(i, 1); - } - return this; - } - addFormat(name, format) { - if (typeof format == "string") - format = new RegExp(format); - this.formats[name] = format; - return this; - } - errorsText(errors = this.errors, { separator = ", ", dataVar = "data" } = {}) { - if (!errors || errors.length === 0) - return "No errors"; - return errors.map((e) => `${dataVar}${e.instancePath} ${e.message}`).reduce((text, msg) => text + separator + msg); - } - $dataMetaSchema(metaSchema, keywordsJsonPointers) { - const rules = this.RULES.all; - metaSchema = JSON.parse(JSON.stringify(metaSchema)); - for (const jsonPointer of keywordsJsonPointers) { - const segments = jsonPointer.split("/").slice(1); - let keywords = metaSchema; - for (const seg of segments) - keywords = keywords[seg]; - for (const key in rules) { - const rule = rules[key]; - if (typeof rule != "object") - continue; - const { $data } = rule.definition; - const schema = keywords[key]; - if ($data && schema) - keywords[key] = schemaOrData(schema); - } - } - return metaSchema; - } - _removeAllSchemas(schemas, regex) { - for (const keyRef in schemas) { - const sch = schemas[keyRef]; - if (!regex || regex.test(keyRef)) { - if (typeof sch == "string") { - delete schemas[keyRef]; - } else if (sch && !sch.meta) { - this._cache.delete(sch.schema); - delete schemas[keyRef]; - } - } - } - } - _addSchema(schema, meta, baseId, validateSchema = this.opts.validateSchema, addSchema = this.opts.addUsedSchema) { - let id; - const { schemaId } = this.opts; - if (typeof schema == "object") { - id = schema[schemaId]; - } else { - if (this.opts.jtd) - throw new Error("schema must be object"); - else if (typeof schema != "boolean") - throw new Error("schema must be object or boolean"); - } - let sch = this._cache.get(schema); - if (sch !== void 0) - return sch; - baseId = (0, resolve_1.normalizeId)(id || baseId); - const localRefs = resolve_1.getSchemaRefs.call(this, schema, baseId); - sch = new compile_1.SchemaEnv({ schema, schemaId, meta, baseId, localRefs }); - this._cache.set(sch.schema, sch); - if (addSchema && !baseId.startsWith("#")) { - if (baseId) - this._checkUnique(baseId); - this.refs[baseId] = sch; - } - if (validateSchema) - this.validateSchema(schema, true); - return sch; - } - _checkUnique(id) { - if (this.schemas[id] || this.refs[id]) { - throw new Error(`schema with key or id "${id}" already exists`); - } - } - _compileSchemaEnv(sch) { - if (sch.meta) - this._compileMetaSchema(sch); - else - compile_1.compileSchema.call(this, sch); - if (!sch.validate) - throw new Error("ajv implementation error"); - return sch.validate; - } - _compileMetaSchema(sch) { - const currentOpts = this.opts; - this.opts = this._metaOpts; - try { - compile_1.compileSchema.call(this, sch); - } finally { - this.opts = currentOpts; - } - } - }; - exports.default = Ajv3; - Ajv3.ValidationError = validation_error_1.default; - Ajv3.MissingRefError = ref_error_1.default; - function checkOptions(checkOpts, options, msg, log = "error") { - for (const key in checkOpts) { - const opt = key; - if (opt in options) - this.logger[log](`${msg}: option ${key}. ${checkOpts[opt]}`); - } - } - function getSchEnv(keyRef) { - keyRef = (0, resolve_1.normalizeId)(keyRef); - return this.schemas[keyRef] || this.refs[keyRef]; - } - function addInitialSchemas() { - const optsSchemas = this.opts.schemas; - if (!optsSchemas) - return; - if (Array.isArray(optsSchemas)) - this.addSchema(optsSchemas); - else - for (const key in optsSchemas) - this.addSchema(optsSchemas[key], key); - } - function addInitialFormats() { - for (const name in this.opts.formats) { - const format = this.opts.formats[name]; - if (format) - this.addFormat(name, format); - } - } - function addInitialKeywords(defs) { - if (Array.isArray(defs)) { - this.addVocabulary(defs); - return; - } - this.logger.warn("keywords option as map is deprecated, pass array"); - for (const keyword in defs) { - const def = defs[keyword]; - if (!def.keyword) - def.keyword = keyword; - this.addKeyword(def); - } - } - function getMetaSchemaOptions() { - const metaOpts = { ...this.opts }; - for (const opt of META_IGNORE_OPTIONS) - delete metaOpts[opt]; - return metaOpts; - } - var noLogs = { log() { - }, warn() { - }, error() { - } }; - function getLogger(logger) { - if (logger === false) - return noLogs; - if (logger === void 0) - return console; - if (logger.log && logger.warn && logger.error) - return logger; - throw new Error("logger must implement log, warn and error methods"); - } - var KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i; - function checkKeyword(keyword, def) { - const { RULES } = this; - (0, util_1.eachItem)(keyword, (kwd) => { - if (RULES.keywords[kwd]) - throw new Error(`Keyword ${kwd} is already defined`); - if (!KEYWORD_NAME.test(kwd)) - throw new Error(`Keyword ${kwd} has invalid name`); - }); - if (!def) - return; - if (def.$data && !("code" in def || "validate" in def)) { - throw new Error('$data keyword must have "code" or "validate" function'); - } - } - function addRule(keyword, definition, dataType) { - var _a; - const post = definition === null || definition === void 0 ? void 0 : definition.post; - if (dataType && post) - throw new Error('keyword with "post" flag cannot have "type"'); - const { RULES } = this; - let ruleGroup = post ? RULES.post : RULES.rules.find(({ type: t }) => t === dataType); - if (!ruleGroup) { - ruleGroup = { type: dataType, rules: [] }; - RULES.rules.push(ruleGroup); - } - RULES.keywords[keyword] = true; - if (!definition) - return; - const rule = { - keyword, - definition: { - ...definition, - type: (0, dataType_1.getJSONTypes)(definition.type), - schemaType: (0, dataType_1.getJSONTypes)(definition.schemaType) - } - }; - if (definition.before) - addBeforeRule.call(this, ruleGroup, rule, definition.before); - else - ruleGroup.rules.push(rule); - RULES.all[keyword] = rule; - (_a = definition.implements) === null || _a === void 0 ? void 0 : _a.forEach((kwd) => this.addKeyword(kwd)); - } - function addBeforeRule(ruleGroup, rule, before) { - const i = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before); - if (i >= 0) { - ruleGroup.rules.splice(i, 0, rule); - } else { - ruleGroup.rules.push(rule); - this.logger.warn(`rule ${before} is not defined`); - } - } - function keywordMetaschema(def) { - let { metaSchema } = def; - if (metaSchema === void 0) - return; - if (def.$data && this.opts.$data) - metaSchema = schemaOrData(metaSchema); - def.validateSchema = this.compile(metaSchema, true); - } - var $dataRef = { - $ref: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#" - }; - function schemaOrData(schema) { - return { anyOf: [schema, $dataRef] }; - } - } -}); - -// ../../node_modules/ajv/dist/vocabularies/core/id.js -var require_id = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/core/id.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var def = { - keyword: "id", - code() { - throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID'); - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/core/ref.js -var require_ref = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/core/ref.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.callRef = exports.getValidate = void 0; - var ref_error_1 = require_ref_error(); - var code_1 = require_code2(); - var codegen_1 = require_codegen(); - var names_1 = require_names(); - var compile_1 = require_compile(); - var util_1 = require_util(); - var def = { - keyword: "$ref", - schemaType: "string", - code(cxt) { - const { gen, schema: $ref, it } = cxt; - const { baseId, schemaEnv: env, validateName, opts, self } = it; - const { root } = env; - if (($ref === "#" || $ref === "#/") && baseId === root.baseId) - return callRootRef(); - const schOrEnv = compile_1.resolveRef.call(self, root, baseId, $ref); - if (schOrEnv === void 0) - throw new ref_error_1.default(it.opts.uriResolver, baseId, $ref); - if (schOrEnv instanceof compile_1.SchemaEnv) - return callValidate(schOrEnv); - return inlineRefSchema(schOrEnv); - function callRootRef() { - if (env === root) - return callRef(cxt, validateName, env, env.$async); - const rootName = gen.scopeValue("root", { ref: root }); - return callRef(cxt, (0, codegen_1._)`${rootName}.validate`, root, root.$async); - } - function callValidate(sch) { - const v = getValidate(cxt, sch); - callRef(cxt, v, sch, sch.$async); - } - function inlineRefSchema(sch) { - const schName = gen.scopeValue("schema", opts.code.source === true ? { ref: sch, code: (0, codegen_1.stringify)(sch) } : { ref: sch }); - const valid = gen.name("valid"); - const schCxt = cxt.subschema({ - schema: sch, - dataTypes: [], - schemaPath: codegen_1.nil, - topSchemaRef: schName, - errSchemaPath: $ref - }, valid); - cxt.mergeEvaluated(schCxt); - cxt.ok(valid); - } - } - }; - function getValidate(cxt, sch) { - const { gen } = cxt; - return sch.validate ? gen.scopeValue("validate", { ref: sch.validate }) : (0, codegen_1._)`${gen.scopeValue("wrapper", { ref: sch })}.validate`; - } - exports.getValidate = getValidate; - function callRef(cxt, v, sch, $async) { - const { gen, it } = cxt; - const { allErrors, schemaEnv: env, opts } = it; - const passCxt = opts.passContext ? names_1.default.this : codegen_1.nil; - if ($async) - callAsyncRef(); - else - callSyncRef(); - function callAsyncRef() { - if (!env.$async) - throw new Error("async schema referenced by sync schema"); - const valid = gen.let("valid"); - gen.try(() => { - gen.code((0, codegen_1._)`await ${(0, code_1.callValidateCode)(cxt, v, passCxt)}`); - addEvaluatedFrom(v); - if (!allErrors) - gen.assign(valid, true); - }, (e) => { - gen.if((0, codegen_1._)`!(${e} instanceof ${it.ValidationError})`, () => gen.throw(e)); - addErrorsFrom(e); - if (!allErrors) - gen.assign(valid, false); - }); - cxt.ok(valid); - } - function callSyncRef() { - cxt.result((0, code_1.callValidateCode)(cxt, v, passCxt), () => addEvaluatedFrom(v), () => addErrorsFrom(v)); - } - function addErrorsFrom(source) { - const errs = (0, codegen_1._)`${source}.errors`; - gen.assign(names_1.default.vErrors, (0, codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`); - gen.assign(names_1.default.errors, (0, codegen_1._)`${names_1.default.vErrors}.length`); - } - function addEvaluatedFrom(source) { - var _a; - if (!it.opts.unevaluated) - return; - const schEvaluated = (_a = sch === null || sch === void 0 ? void 0 : sch.validate) === null || _a === void 0 ? void 0 : _a.evaluated; - if (it.props !== true) { - if (schEvaluated && !schEvaluated.dynamicProps) { - if (schEvaluated.props !== void 0) { - it.props = util_1.mergeEvaluated.props(gen, schEvaluated.props, it.props); - } - } else { - const props = gen.var("props", (0, codegen_1._)`${source}.evaluated.props`); - it.props = util_1.mergeEvaluated.props(gen, props, it.props, codegen_1.Name); - } - } - if (it.items !== true) { - if (schEvaluated && !schEvaluated.dynamicItems) { - if (schEvaluated.items !== void 0) { - it.items = util_1.mergeEvaluated.items(gen, schEvaluated.items, it.items); - } - } else { - const items = gen.var("items", (0, codegen_1._)`${source}.evaluated.items`); - it.items = util_1.mergeEvaluated.items(gen, items, it.items, codegen_1.Name); - } - } - } - } - exports.callRef = callRef; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/core/index.js -var require_core2 = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/core/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var id_1 = require_id(); - var ref_1 = require_ref(); - var core = [ - "$schema", - "$id", - "$defs", - "$vocabulary", - { keyword: "$comment" }, - "definitions", - id_1.default, - ref_1.default - ]; - exports.default = core; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/validation/limitNumber.js -var require_limitNumber = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var ops = codegen_1.operators; - var KWDs = { - maximum: { okStr: "<=", ok: ops.LTE, fail: ops.GT }, - minimum: { okStr: ">=", ok: ops.GTE, fail: ops.LT }, - exclusiveMaximum: { okStr: "<", ok: ops.LT, fail: ops.GTE }, - exclusiveMinimum: { okStr: ">", ok: ops.GT, fail: ops.LTE } - }; - var error = { - message: ({ keyword, schemaCode }) => (0, codegen_1.str)`must be ${KWDs[keyword].okStr} ${schemaCode}`, - params: ({ keyword, schemaCode }) => (0, codegen_1._)`{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}` - }; - var def = { - keyword: Object.keys(KWDs), - type: "number", - schemaType: "number", - $data: true, - error, - code(cxt) { - const { keyword, data, schemaCode } = cxt; - cxt.fail$data((0, codegen_1._)`${data} ${KWDs[keyword].fail} ${schemaCode} || isNaN(${data})`); - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/validation/multipleOf.js -var require_multipleOf = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var error = { - message: ({ schemaCode }) => (0, codegen_1.str)`must be multiple of ${schemaCode}`, - params: ({ schemaCode }) => (0, codegen_1._)`{multipleOf: ${schemaCode}}` - }; - var def = { - keyword: "multipleOf", - type: "number", - schemaType: "number", - $data: true, - error, - code(cxt) { - const { gen, data, schemaCode, it } = cxt; - const prec = it.opts.multipleOfPrecision; - const res = gen.let("res"); - const invalid = prec ? (0, codegen_1._)`Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}` : (0, codegen_1._)`${res} !== parseInt(${res})`; - cxt.fail$data((0, codegen_1._)`(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`); - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/runtime/ucs2length.js -var require_ucs2length = __commonJS({ - "../../node_modules/ajv/dist/runtime/ucs2length.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function ucs2length(str) { - const len = str.length; - let length = 0; - let pos = 0; - let value; - while (pos < len) { - length++; - value = str.charCodeAt(pos++); - if (value >= 55296 && value <= 56319 && pos < len) { - value = str.charCodeAt(pos); - if ((value & 64512) === 56320) - pos++; - } - } - return length; - } - exports.default = ucs2length; - ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default'; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/validation/limitLength.js -var require_limitLength = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var ucs2length_1 = require_ucs2length(); - var error = { - message({ keyword, schemaCode }) { - const comp = keyword === "maxLength" ? "more" : "fewer"; - return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} characters`; - }, - params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}` - }; - var def = { - keyword: ["maxLength", "minLength"], - type: "string", - schemaType: "number", - $data: true, - error, - code(cxt) { - const { keyword, data, schemaCode, it } = cxt; - const op = keyword === "maxLength" ? codegen_1.operators.GT : codegen_1.operators.LT; - const len = it.opts.unicode === false ? (0, codegen_1._)`${data}.length` : (0, codegen_1._)`${(0, util_1.useFunc)(cxt.gen, ucs2length_1.default)}(${data})`; - cxt.fail$data((0, codegen_1._)`${len} ${op} ${schemaCode}`); - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/validation/pattern.js -var require_pattern = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var code_1 = require_code2(); - var codegen_1 = require_codegen(); - var error = { - message: ({ schemaCode }) => (0, codegen_1.str)`must match pattern "${schemaCode}"`, - params: ({ schemaCode }) => (0, codegen_1._)`{pattern: ${schemaCode}}` - }; - var def = { - keyword: "pattern", - type: "string", - schemaType: "string", - $data: true, - error, - code(cxt) { - const { data, $data, schema, schemaCode, it } = cxt; - const u = it.opts.unicodeRegExp ? "u" : ""; - const regExp = $data ? (0, codegen_1._)`(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema); - cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`); - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/validation/limitProperties.js -var require_limitProperties = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var error = { - message({ keyword, schemaCode }) { - const comp = keyword === "maxProperties" ? "more" : "fewer"; - return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} properties`; - }, - params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}` - }; - var def = { - keyword: ["maxProperties", "minProperties"], - type: "object", - schemaType: "number", - $data: true, - error, - code(cxt) { - const { keyword, data, schemaCode } = cxt; - const op = keyword === "maxProperties" ? codegen_1.operators.GT : codegen_1.operators.LT; - cxt.fail$data((0, codegen_1._)`Object.keys(${data}).length ${op} ${schemaCode}`); - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/validation/required.js -var require_required = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/validation/required.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var code_1 = require_code2(); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var error = { - message: ({ params: { missingProperty } }) => (0, codegen_1.str)`must have required property '${missingProperty}'`, - params: ({ params: { missingProperty } }) => (0, codegen_1._)`{missingProperty: ${missingProperty}}` - }; - var def = { - keyword: "required", - type: "object", - schemaType: "array", - $data: true, - error, - code(cxt) { - const { gen, schema, schemaCode, data, $data, it } = cxt; - const { opts } = it; - if (!$data && schema.length === 0) - return; - const useLoop = schema.length >= opts.loopRequired; - if (it.allErrors) - allErrorsMode(); - else - exitOnErrorMode(); - if (opts.strictRequired) { - const props = cxt.parentSchema.properties; - const { definedProperties } = cxt.it; - for (const requiredKey of schema) { - if ((props === null || props === void 0 ? void 0 : props[requiredKey]) === void 0 && !definedProperties.has(requiredKey)) { - const schemaPath = it.schemaEnv.baseId + it.errSchemaPath; - const msg = `required property "${requiredKey}" is not defined at "${schemaPath}" (strictRequired)`; - (0, util_1.checkStrictMode)(it, msg, it.opts.strictRequired); - } - } - } - function allErrorsMode() { - if (useLoop || $data) { - cxt.block$data(codegen_1.nil, loopAllRequired); - } else { - for (const prop of schema) { - (0, code_1.checkReportMissingProp)(cxt, prop); - } - } - } - function exitOnErrorMode() { - const missing = gen.let("missing"); - if (useLoop || $data) { - const valid = gen.let("valid", true); - cxt.block$data(valid, () => loopUntilMissing(missing, valid)); - cxt.ok(valid); - } else { - gen.if((0, code_1.checkMissingProp)(cxt, schema, missing)); - (0, code_1.reportMissingProp)(cxt, missing); - gen.else(); - } - } - function loopAllRequired() { - gen.forOf("prop", schemaCode, (prop) => { - cxt.setParams({ missingProperty: prop }); - gen.if((0, code_1.noPropertyInData)(gen, data, prop, opts.ownProperties), () => cxt.error()); - }); - } - function loopUntilMissing(missing, valid) { - cxt.setParams({ missingProperty: missing }); - gen.forOf(missing, schemaCode, () => { - gen.assign(valid, (0, code_1.propertyInData)(gen, data, missing, opts.ownProperties)); - gen.if((0, codegen_1.not)(valid), () => { - cxt.error(); - gen.break(); - }); - }, codegen_1.nil); - } - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/validation/limitItems.js -var require_limitItems = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var error = { - message({ keyword, schemaCode }) { - const comp = keyword === "maxItems" ? "more" : "fewer"; - return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} items`; - }, - params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}` - }; - var def = { - keyword: ["maxItems", "minItems"], - type: "array", - schemaType: "number", - $data: true, - error, - code(cxt) { - const { keyword, data, schemaCode } = cxt; - const op = keyword === "maxItems" ? codegen_1.operators.GT : codegen_1.operators.LT; - cxt.fail$data((0, codegen_1._)`${data}.length ${op} ${schemaCode}`); - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/runtime/equal.js -var require_equal = __commonJS({ - "../../node_modules/ajv/dist/runtime/equal.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var equal = require_fast_deep_equal(); - equal.code = 'require("ajv/dist/runtime/equal").default'; - exports.default = equal; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/validation/uniqueItems.js -var require_uniqueItems = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var dataType_1 = require_dataType(); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var equal_1 = require_equal(); - var error = { - message: ({ params: { i, j } }) => (0, codegen_1.str)`must NOT have duplicate items (items ## ${j} and ${i} are identical)`, - params: ({ params: { i, j } }) => (0, codegen_1._)`{i: ${i}, j: ${j}}` - }; - var def = { - keyword: "uniqueItems", - type: "array", - schemaType: "boolean", - $data: true, - error, - code(cxt) { - const { gen, data, $data, schema, parentSchema, schemaCode, it } = cxt; - if (!$data && !schema) - return; - const valid = gen.let("valid"); - const itemTypes = parentSchema.items ? (0, dataType_1.getSchemaTypes)(parentSchema.items) : []; - cxt.block$data(valid, validateUniqueItems, (0, codegen_1._)`${schemaCode} === false`); - cxt.ok(valid); - function validateUniqueItems() { - const i = gen.let("i", (0, codegen_1._)`${data}.length`); - const j = gen.let("j"); - cxt.setParams({ i, j }); - gen.assign(valid, true); - gen.if((0, codegen_1._)`${i} > 1`, () => (canOptimize() ? loopN : loopN2)(i, j)); - } - function canOptimize() { - return itemTypes.length > 0 && !itemTypes.some((t) => t === "object" || t === "array"); - } - function loopN(i, j) { - const item = gen.name("item"); - const wrongType = (0, dataType_1.checkDataTypes)(itemTypes, item, it.opts.strictNumbers, dataType_1.DataType.Wrong); - const indices = gen.const("indices", (0, codegen_1._)`{}`); - gen.for((0, codegen_1._)`;${i}--;`, () => { - gen.let(item, (0, codegen_1._)`${data}[${i}]`); - gen.if(wrongType, (0, codegen_1._)`continue`); - if (itemTypes.length > 1) - gen.if((0, codegen_1._)`typeof ${item} == "string"`, (0, codegen_1._)`${item} += "_"`); - gen.if((0, codegen_1._)`typeof ${indices}[${item}] == "number"`, () => { - gen.assign(j, (0, codegen_1._)`${indices}[${item}]`); - cxt.error(); - gen.assign(valid, false).break(); - }).code((0, codegen_1._)`${indices}[${item}] = ${i}`); - }); - } - function loopN2(i, j) { - const eql = (0, util_1.useFunc)(gen, equal_1.default); - const outer = gen.name("outer"); - gen.label(outer).for((0, codegen_1._)`;${i}--;`, () => gen.for((0, codegen_1._)`${j} = ${i}; ${j}--;`, () => gen.if((0, codegen_1._)`${eql}(${data}[${i}], ${data}[${j}])`, () => { - cxt.error(); - gen.assign(valid, false).break(outer); - }))); - } - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/validation/const.js -var require_const = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/validation/const.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var equal_1 = require_equal(); - var error = { - message: "must be equal to constant", - params: ({ schemaCode }) => (0, codegen_1._)`{allowedValue: ${schemaCode}}` - }; - var def = { - keyword: "const", - $data: true, - error, - code(cxt) { - const { gen, data, $data, schemaCode, schema } = cxt; - if ($data || schema && typeof schema == "object") { - cxt.fail$data((0, codegen_1._)`!${(0, util_1.useFunc)(gen, equal_1.default)}(${data}, ${schemaCode})`); - } else { - cxt.fail((0, codegen_1._)`${schema} !== ${data}`); - } - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/validation/enum.js -var require_enum = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/validation/enum.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var equal_1 = require_equal(); - var error = { - message: "must be equal to one of the allowed values", - params: ({ schemaCode }) => (0, codegen_1._)`{allowedValues: ${schemaCode}}` - }; - var def = { - keyword: "enum", - schemaType: "array", - $data: true, - error, - code(cxt) { - const { gen, data, $data, schema, schemaCode, it } = cxt; - if (!$data && schema.length === 0) - throw new Error("enum must have non-empty array"); - const useLoop = schema.length >= it.opts.loopEnum; - let eql; - const getEql = () => eql !== null && eql !== void 0 ? eql : eql = (0, util_1.useFunc)(gen, equal_1.default); - let valid; - if (useLoop || $data) { - valid = gen.let("valid"); - cxt.block$data(valid, loopEnum); - } else { - if (!Array.isArray(schema)) - throw new Error("ajv implementation error"); - const vSchema = gen.const("vSchema", schemaCode); - valid = (0, codegen_1.or)(...schema.map((_x, i) => equalCode(vSchema, i))); - } - cxt.pass(valid); - function loopEnum() { - gen.assign(valid, false); - gen.forOf("v", schemaCode, (v) => gen.if((0, codegen_1._)`${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break())); - } - function equalCode(vSchema, i) { - const sch = schema[i]; - return typeof sch === "object" && sch !== null ? (0, codegen_1._)`${getEql()}(${data}, ${vSchema}[${i}])` : (0, codegen_1._)`${data} === ${sch}`; - } - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/validation/index.js -var require_validation = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/validation/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var limitNumber_1 = require_limitNumber(); - var multipleOf_1 = require_multipleOf(); - var limitLength_1 = require_limitLength(); - var pattern_1 = require_pattern(); - var limitProperties_1 = require_limitProperties(); - var required_1 = require_required(); - var limitItems_1 = require_limitItems(); - var uniqueItems_1 = require_uniqueItems(); - var const_1 = require_const(); - var enum_1 = require_enum(); - var validation = [ - limitNumber_1.default, - multipleOf_1.default, - limitLength_1.default, - pattern_1.default, - limitProperties_1.default, - required_1.default, - limitItems_1.default, - uniqueItems_1.default, - { keyword: "type", schemaType: ["string", "array"] }, - { keyword: "nullable", schemaType: "boolean" }, - const_1.default, - enum_1.default - ]; - exports.default = validation; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/additionalItems.js -var require_additionalItems = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateAdditionalItems = void 0; - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var error = { - message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`, - params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}` - }; - var def = { - keyword: "additionalItems", - type: "array", - schemaType: ["boolean", "object"], - before: "uniqueItems", - error, - code(cxt) { - const { parentSchema, it } = cxt; - const { items } = parentSchema; - if (!Array.isArray(items)) { - (0, util_1.checkStrictMode)(it, '"additionalItems" is ignored when "items" is not an array of schemas'); - return; - } - validateAdditionalItems(cxt, items); - } - }; - function validateAdditionalItems(cxt, items) { - const { gen, schema, data, keyword, it } = cxt; - it.items = true; - const len = gen.const("len", (0, codegen_1._)`${data}.length`); - if (schema === false) { - cxt.setParams({ len: items.length }); - cxt.pass((0, codegen_1._)`${len} <= ${items.length}`); - } else if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) { - const valid = gen.var("valid", (0, codegen_1._)`${len} <= ${items.length}`); - gen.if((0, codegen_1.not)(valid), () => validateItems(valid)); - cxt.ok(valid); - } - function validateItems(valid) { - gen.forRange("i", items.length, len, (i) => { - cxt.subschema({ keyword, dataProp: i, dataPropType: util_1.Type.Num }, valid); - if (!it.allErrors) - gen.if((0, codegen_1.not)(valid), () => gen.break()); - }); - } - } - exports.validateAdditionalItems = validateAdditionalItems; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/items.js -var require_items = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/items.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateTuple = void 0; - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var code_1 = require_code2(); - var def = { - keyword: "items", - type: "array", - schemaType: ["object", "array", "boolean"], - before: "uniqueItems", - code(cxt) { - const { schema, it } = cxt; - if (Array.isArray(schema)) - return validateTuple(cxt, "additionalItems", schema); - it.items = true; - if ((0, util_1.alwaysValidSchema)(it, schema)) - return; - cxt.ok((0, code_1.validateArray)(cxt)); - } - }; - function validateTuple(cxt, extraItems, schArr = cxt.schema) { - const { gen, parentSchema, data, keyword, it } = cxt; - checkStrictTuple(parentSchema); - if (it.opts.unevaluated && schArr.length && it.items !== true) { - it.items = util_1.mergeEvaluated.items(gen, schArr.length, it.items); - } - const valid = gen.name("valid"); - const len = gen.const("len", (0, codegen_1._)`${data}.length`); - schArr.forEach((sch, i) => { - if ((0, util_1.alwaysValidSchema)(it, sch)) - return; - gen.if((0, codegen_1._)`${len} > ${i}`, () => cxt.subschema({ - keyword, - schemaProp: i, - dataProp: i - }, valid)); - cxt.ok(valid); - }); - function checkStrictTuple(sch) { - const { opts, errSchemaPath } = it; - const l = schArr.length; - const fullTuple = l === sch.minItems && (l === sch.maxItems || sch[extraItems] === false); - if (opts.strictTuples && !fullTuple) { - const msg = `"${keyword}" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path "${errSchemaPath}"`; - (0, util_1.checkStrictMode)(it, msg, opts.strictTuples); - } - } - } - exports.validateTuple = validateTuple; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/prefixItems.js -var require_prefixItems = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var items_1 = require_items(); - var def = { - keyword: "prefixItems", - type: "array", - schemaType: ["array"], - before: "uniqueItems", - code: (cxt) => (0, items_1.validateTuple)(cxt, "items") - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/items2020.js -var require_items2020 = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var code_1 = require_code2(); - var additionalItems_1 = require_additionalItems(); - var error = { - message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`, - params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}` - }; - var def = { - keyword: "items", - type: "array", - schemaType: ["object", "boolean"], - before: "uniqueItems", - error, - code(cxt) { - const { schema, parentSchema, it } = cxt; - const { prefixItems } = parentSchema; - it.items = true; - if ((0, util_1.alwaysValidSchema)(it, schema)) - return; - if (prefixItems) - (0, additionalItems_1.validateAdditionalItems)(cxt, prefixItems); - else - cxt.ok((0, code_1.validateArray)(cxt)); - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/contains.js -var require_contains = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var error = { - message: ({ params: { min, max } }) => max === void 0 ? (0, codegen_1.str)`must contain at least ${min} valid item(s)` : (0, codegen_1.str)`must contain at least ${min} and no more than ${max} valid item(s)`, - params: ({ params: { min, max } }) => max === void 0 ? (0, codegen_1._)`{minContains: ${min}}` : (0, codegen_1._)`{minContains: ${min}, maxContains: ${max}}` - }; - var def = { - keyword: "contains", - type: "array", - schemaType: ["object", "boolean"], - before: "uniqueItems", - trackErrors: true, - error, - code(cxt) { - const { gen, schema, parentSchema, data, it } = cxt; - let min; - let max; - const { minContains, maxContains } = parentSchema; - if (it.opts.next) { - min = minContains === void 0 ? 1 : minContains; - max = maxContains; - } else { - min = 1; - } - const len = gen.const("len", (0, codegen_1._)`${data}.length`); - cxt.setParams({ min, max }); - if (max === void 0 && min === 0) { - (0, util_1.checkStrictMode)(it, `"minContains" == 0 without "maxContains": "contains" keyword ignored`); - return; - } - if (max !== void 0 && min > max) { - (0, util_1.checkStrictMode)(it, `"minContains" > "maxContains" is always invalid`); - cxt.fail(); - return; - } - if ((0, util_1.alwaysValidSchema)(it, schema)) { - let cond = (0, codegen_1._)`${len} >= ${min}`; - if (max !== void 0) - cond = (0, codegen_1._)`${cond} && ${len} <= ${max}`; - cxt.pass(cond); - return; - } - it.items = true; - const valid = gen.name("valid"); - if (max === void 0 && min === 1) { - validateItems(valid, () => gen.if(valid, () => gen.break())); - } else if (min === 0) { - gen.let(valid, true); - if (max !== void 0) - gen.if((0, codegen_1._)`${data}.length > 0`, validateItemsWithCount); - } else { - gen.let(valid, false); - validateItemsWithCount(); - } - cxt.result(valid, () => cxt.reset()); - function validateItemsWithCount() { - const schValid = gen.name("_valid"); - const count = gen.let("count", 0); - validateItems(schValid, () => gen.if(schValid, () => checkLimits(count))); - } - function validateItems(_valid, block) { - gen.forRange("i", 0, len, (i) => { - cxt.subschema({ - keyword: "contains", - dataProp: i, - dataPropType: util_1.Type.Num, - compositeRule: true - }, _valid); - block(); - }); - } - function checkLimits(count) { - gen.code((0, codegen_1._)`${count}++`); - if (max === void 0) { - gen.if((0, codegen_1._)`${count} >= ${min}`, () => gen.assign(valid, true).break()); - } else { - gen.if((0, codegen_1._)`${count} > ${max}`, () => gen.assign(valid, false).break()); - if (min === 1) - gen.assign(valid, true); - else - gen.if((0, codegen_1._)`${count} >= ${min}`, () => gen.assign(valid, true)); - } - } - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/dependencies.js -var require_dependencies = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0; - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var code_1 = require_code2(); - exports.error = { - message: ({ params: { property, depsCount, deps } }) => { - const property_ies = depsCount === 1 ? "property" : "properties"; - return (0, codegen_1.str)`must have ${property_ies} ${deps} when property ${property} is present`; - }, - params: ({ params: { property, depsCount, deps, missingProperty } }) => (0, codegen_1._)`{property: ${property}, - missingProperty: ${missingProperty}, - depsCount: ${depsCount}, - deps: ${deps}}` - }; - var def = { - keyword: "dependencies", - type: "object", - schemaType: "object", - error: exports.error, - code(cxt) { - const [propDeps, schDeps] = splitDependencies(cxt); - validatePropertyDeps(cxt, propDeps); - validateSchemaDeps(cxt, schDeps); - } - }; - function splitDependencies({ schema }) { - const propertyDeps = {}; - const schemaDeps = {}; - for (const key in schema) { - if (key === "__proto__") - continue; - const deps = Array.isArray(schema[key]) ? propertyDeps : schemaDeps; - deps[key] = schema[key]; - } - return [propertyDeps, schemaDeps]; - } - function validatePropertyDeps(cxt, propertyDeps = cxt.schema) { - const { gen, data, it } = cxt; - if (Object.keys(propertyDeps).length === 0) - return; - const missing = gen.let("missing"); - for (const prop in propertyDeps) { - const deps = propertyDeps[prop]; - if (deps.length === 0) - continue; - const hasProperty = (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties); - cxt.setParams({ - property: prop, - depsCount: deps.length, - deps: deps.join(", ") - }); - if (it.allErrors) { - gen.if(hasProperty, () => { - for (const depProp of deps) { - (0, code_1.checkReportMissingProp)(cxt, depProp); - } - }); - } else { - gen.if((0, codegen_1._)`${hasProperty} && (${(0, code_1.checkMissingProp)(cxt, deps, missing)})`); - (0, code_1.reportMissingProp)(cxt, missing); - gen.else(); - } - } - } - exports.validatePropertyDeps = validatePropertyDeps; - function validateSchemaDeps(cxt, schemaDeps = cxt.schema) { - const { gen, data, keyword, it } = cxt; - const valid = gen.name("valid"); - for (const prop in schemaDeps) { - if ((0, util_1.alwaysValidSchema)(it, schemaDeps[prop])) - continue; - gen.if( - (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties), - () => { - const schCxt = cxt.subschema({ keyword, schemaProp: prop }, valid); - cxt.mergeValidEvaluated(schCxt, valid); - }, - () => gen.var(valid, true) - ); - cxt.ok(valid); - } - } - exports.validateSchemaDeps = validateSchemaDeps; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/propertyNames.js -var require_propertyNames = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var error = { - message: "property name must be valid", - params: ({ params }) => (0, codegen_1._)`{propertyName: ${params.propertyName}}` - }; - var def = { - keyword: "propertyNames", - type: "object", - schemaType: ["object", "boolean"], - error, - code(cxt) { - const { gen, schema, data, it } = cxt; - if ((0, util_1.alwaysValidSchema)(it, schema)) - return; - const valid = gen.name("valid"); - gen.forIn("key", data, (key) => { - cxt.setParams({ propertyName: key }); - cxt.subschema({ - keyword: "propertyNames", - data: key, - dataTypes: ["string"], - propertyName: key, - compositeRule: true - }, valid); - gen.if((0, codegen_1.not)(valid), () => { - cxt.error(true); - if (!it.allErrors) - gen.break(); - }); - }); - cxt.ok(valid); - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js -var require_additionalProperties = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var code_1 = require_code2(); - var codegen_1 = require_codegen(); - var names_1 = require_names(); - var util_1 = require_util(); - var error = { - message: "must NOT have additional properties", - params: ({ params }) => (0, codegen_1._)`{additionalProperty: ${params.additionalProperty}}` - }; - var def = { - keyword: "additionalProperties", - type: ["object"], - schemaType: ["boolean", "object"], - allowUndefined: true, - trackErrors: true, - error, - code(cxt) { - const { gen, schema, parentSchema, data, errsCount, it } = cxt; - if (!errsCount) - throw new Error("ajv implementation error"); - const { allErrors, opts } = it; - it.props = true; - if (opts.removeAdditional !== "all" && (0, util_1.alwaysValidSchema)(it, schema)) - return; - const props = (0, code_1.allSchemaProperties)(parentSchema.properties); - const patProps = (0, code_1.allSchemaProperties)(parentSchema.patternProperties); - checkAdditionalProperties(); - cxt.ok((0, codegen_1._)`${errsCount} === ${names_1.default.errors}`); - function checkAdditionalProperties() { - gen.forIn("key", data, (key) => { - if (!props.length && !patProps.length) - additionalPropertyCode(key); - else - gen.if(isAdditional(key), () => additionalPropertyCode(key)); - }); - } - function isAdditional(key) { - let definedProp; - if (props.length > 8) { - const propsSchema = (0, util_1.schemaRefOrVal)(it, parentSchema.properties, "properties"); - definedProp = (0, code_1.isOwnProperty)(gen, propsSchema, key); - } else if (props.length) { - definedProp = (0, codegen_1.or)(...props.map((p) => (0, codegen_1._)`${key} === ${p}`)); - } else { - definedProp = codegen_1.nil; - } - if (patProps.length) { - definedProp = (0, codegen_1.or)(definedProp, ...patProps.map((p) => (0, codegen_1._)`${(0, code_1.usePattern)(cxt, p)}.test(${key})`)); - } - return (0, codegen_1.not)(definedProp); - } - function deleteAdditional(key) { - gen.code((0, codegen_1._)`delete ${data}[${key}]`); - } - function additionalPropertyCode(key) { - if (opts.removeAdditional === "all" || opts.removeAdditional && schema === false) { - deleteAdditional(key); - return; - } - if (schema === false) { - cxt.setParams({ additionalProperty: key }); - cxt.error(); - if (!allErrors) - gen.break(); - return; - } - if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) { - const valid = gen.name("valid"); - if (opts.removeAdditional === "failing") { - applyAdditionalSchema(key, valid, false); - gen.if((0, codegen_1.not)(valid), () => { - cxt.reset(); - deleteAdditional(key); - }); - } else { - applyAdditionalSchema(key, valid); - if (!allErrors) - gen.if((0, codegen_1.not)(valid), () => gen.break()); - } - } - } - function applyAdditionalSchema(key, valid, errors) { - const subschema = { - keyword: "additionalProperties", - dataProp: key, - dataPropType: util_1.Type.Str - }; - if (errors === false) { - Object.assign(subschema, { - compositeRule: true, - createErrors: false, - allErrors: false - }); - } - cxt.subschema(subschema, valid); - } - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/properties.js -var require_properties = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var validate_1 = require_validate(); - var code_1 = require_code2(); - var util_1 = require_util(); - var additionalProperties_1 = require_additionalProperties(); - var def = { - keyword: "properties", - type: "object", - schemaType: "object", - code(cxt) { - const { gen, schema, parentSchema, data, it } = cxt; - if (it.opts.removeAdditional === "all" && parentSchema.additionalProperties === void 0) { - additionalProperties_1.default.code(new validate_1.KeywordCxt(it, additionalProperties_1.default, "additionalProperties")); - } - const allProps = (0, code_1.allSchemaProperties)(schema); - for (const prop of allProps) { - it.definedProperties.add(prop); - } - if (it.opts.unevaluated && allProps.length && it.props !== true) { - it.props = util_1.mergeEvaluated.props(gen, (0, util_1.toHash)(allProps), it.props); - } - const properties = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema[p])); - if (properties.length === 0) - return; - const valid = gen.name("valid"); - for (const prop of properties) { - if (hasDefault(prop)) { - applyPropertySchema(prop); - } else { - gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties)); - applyPropertySchema(prop); - if (!it.allErrors) - gen.else().var(valid, true); - gen.endIf(); - } - cxt.it.definedProperties.add(prop); - cxt.ok(valid); - } - function hasDefault(prop) { - return it.opts.useDefaults && !it.compositeRule && schema[prop].default !== void 0; - } - function applyPropertySchema(prop) { - cxt.subschema({ - keyword: "properties", - schemaProp: prop, - dataProp: prop - }, valid); - } - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/patternProperties.js -var require_patternProperties = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var code_1 = require_code2(); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var util_2 = require_util(); - var def = { - keyword: "patternProperties", - type: "object", - schemaType: "object", - code(cxt) { - const { gen, schema, data, parentSchema, it } = cxt; - const { opts } = it; - const patterns = (0, code_1.allSchemaProperties)(schema); - const alwaysValidPatterns = patterns.filter((p) => (0, util_1.alwaysValidSchema)(it, schema[p])); - if (patterns.length === 0 || alwaysValidPatterns.length === patterns.length && (!it.opts.unevaluated || it.props === true)) { - return; - } - const checkProperties = opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties; - const valid = gen.name("valid"); - if (it.props !== true && !(it.props instanceof codegen_1.Name)) { - it.props = (0, util_2.evaluatedPropsToName)(gen, it.props); - } - const { props } = it; - validatePatternProperties(); - function validatePatternProperties() { - for (const pat of patterns) { - if (checkProperties) - checkMatchingProperties(pat); - if (it.allErrors) { - validateProperties(pat); - } else { - gen.var(valid, true); - validateProperties(pat); - gen.if(valid); - } - } - } - function checkMatchingProperties(pat) { - for (const prop in checkProperties) { - if (new RegExp(pat).test(prop)) { - (0, util_1.checkStrictMode)(it, `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`); - } - } - } - function validateProperties(pat) { - gen.forIn("key", data, (key) => { - gen.if((0, codegen_1._)`${(0, code_1.usePattern)(cxt, pat)}.test(${key})`, () => { - const alwaysValid = alwaysValidPatterns.includes(pat); - if (!alwaysValid) { - cxt.subschema({ - keyword: "patternProperties", - schemaProp: pat, - dataProp: key, - dataPropType: util_2.Type.Str - }, valid); - } - if (it.opts.unevaluated && props !== true) { - gen.assign((0, codegen_1._)`${props}[${key}]`, true); - } else if (!alwaysValid && !it.allErrors) { - gen.if((0, codegen_1.not)(valid), () => gen.break()); - } - }); - }); - } - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/not.js -var require_not = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/not.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var util_1 = require_util(); - var def = { - keyword: "not", - schemaType: ["object", "boolean"], - trackErrors: true, - code(cxt) { - const { gen, schema, it } = cxt; - if ((0, util_1.alwaysValidSchema)(it, schema)) { - cxt.fail(); - return; - } - const valid = gen.name("valid"); - cxt.subschema({ - keyword: "not", - compositeRule: true, - createErrors: false, - allErrors: false - }, valid); - cxt.failResult(valid, () => cxt.reset(), () => cxt.error()); - }, - error: { message: "must NOT be valid" } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/anyOf.js -var require_anyOf = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var code_1 = require_code2(); - var def = { - keyword: "anyOf", - schemaType: "array", - trackErrors: true, - code: code_1.validateUnion, - error: { message: "must match a schema in anyOf" } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/oneOf.js -var require_oneOf = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var error = { - message: "must match exactly one schema in oneOf", - params: ({ params }) => (0, codegen_1._)`{passingSchemas: ${params.passing}}` - }; - var def = { - keyword: "oneOf", - schemaType: "array", - trackErrors: true, - error, - code(cxt) { - const { gen, schema, parentSchema, it } = cxt; - if (!Array.isArray(schema)) - throw new Error("ajv implementation error"); - if (it.opts.discriminator && parentSchema.discriminator) - return; - const schArr = schema; - const valid = gen.let("valid", false); - const passing = gen.let("passing", null); - const schValid = gen.name("_valid"); - cxt.setParams({ passing }); - gen.block(validateOneOf); - cxt.result(valid, () => cxt.reset(), () => cxt.error(true)); - function validateOneOf() { - schArr.forEach((sch, i) => { - let schCxt; - if ((0, util_1.alwaysValidSchema)(it, sch)) { - gen.var(schValid, true); - } else { - schCxt = cxt.subschema({ - keyword: "oneOf", - schemaProp: i, - compositeRule: true - }, schValid); - } - if (i > 0) { - gen.if((0, codegen_1._)`${schValid} && ${valid}`).assign(valid, false).assign(passing, (0, codegen_1._)`[${passing}, ${i}]`).else(); - } - gen.if(schValid, () => { - gen.assign(valid, true); - gen.assign(passing, i); - if (schCxt) - cxt.mergeEvaluated(schCxt, codegen_1.Name); - }); - }); - } - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/allOf.js -var require_allOf = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var util_1 = require_util(); - var def = { - keyword: "allOf", - schemaType: "array", - code(cxt) { - const { gen, schema, it } = cxt; - if (!Array.isArray(schema)) - throw new Error("ajv implementation error"); - const valid = gen.name("valid"); - schema.forEach((sch, i) => { - if ((0, util_1.alwaysValidSchema)(it, sch)) - return; - const schCxt = cxt.subschema({ keyword: "allOf", schemaProp: i }, valid); - cxt.ok(valid); - cxt.mergeEvaluated(schCxt); - }); - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/if.js -var require_if = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/if.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var util_1 = require_util(); - var error = { - message: ({ params }) => (0, codegen_1.str)`must match "${params.ifClause}" schema`, - params: ({ params }) => (0, codegen_1._)`{failingKeyword: ${params.ifClause}}` - }; - var def = { - keyword: "if", - schemaType: ["object", "boolean"], - trackErrors: true, - error, - code(cxt) { - const { gen, parentSchema, it } = cxt; - if (parentSchema.then === void 0 && parentSchema.else === void 0) { - (0, util_1.checkStrictMode)(it, '"if" without "then" and "else" is ignored'); - } - const hasThen = hasSchema(it, "then"); - const hasElse = hasSchema(it, "else"); - if (!hasThen && !hasElse) - return; - const valid = gen.let("valid", true); - const schValid = gen.name("_valid"); - validateIf(); - cxt.reset(); - if (hasThen && hasElse) { - const ifClause = gen.let("ifClause"); - cxt.setParams({ ifClause }); - gen.if(schValid, validateClause("then", ifClause), validateClause("else", ifClause)); - } else if (hasThen) { - gen.if(schValid, validateClause("then")); - } else { - gen.if((0, codegen_1.not)(schValid), validateClause("else")); - } - cxt.pass(valid, () => cxt.error(true)); - function validateIf() { - const schCxt = cxt.subschema({ - keyword: "if", - compositeRule: true, - createErrors: false, - allErrors: false - }, schValid); - cxt.mergeEvaluated(schCxt); - } - function validateClause(keyword, ifClause) { - return () => { - const schCxt = cxt.subschema({ keyword }, schValid); - gen.assign(valid, schValid); - cxt.mergeValidEvaluated(schCxt, valid); - if (ifClause) - gen.assign(ifClause, (0, codegen_1._)`${keyword}`); - else - cxt.setParams({ ifClause: keyword }); - }; - } - } - }; - function hasSchema(it, keyword) { - const schema = it.schema[keyword]; - return schema !== void 0 && !(0, util_1.alwaysValidSchema)(it, schema); - } - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/thenElse.js -var require_thenElse = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var util_1 = require_util(); - var def = { - keyword: ["then", "else"], - schemaType: ["object", "boolean"], - code({ keyword, parentSchema, it }) { - if (parentSchema.if === void 0) - (0, util_1.checkStrictMode)(it, `"${keyword}" without "if" is ignored`); - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/applicator/index.js -var require_applicator = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/applicator/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var additionalItems_1 = require_additionalItems(); - var prefixItems_1 = require_prefixItems(); - var items_1 = require_items(); - var items2020_1 = require_items2020(); - var contains_1 = require_contains(); - var dependencies_1 = require_dependencies(); - var propertyNames_1 = require_propertyNames(); - var additionalProperties_1 = require_additionalProperties(); - var properties_1 = require_properties(); - var patternProperties_1 = require_patternProperties(); - var not_1 = require_not(); - var anyOf_1 = require_anyOf(); - var oneOf_1 = require_oneOf(); - var allOf_1 = require_allOf(); - var if_1 = require_if(); - var thenElse_1 = require_thenElse(); - function getApplicator(draft2020 = false) { - const applicator = [ - not_1.default, - anyOf_1.default, - oneOf_1.default, - allOf_1.default, - if_1.default, - thenElse_1.default, - propertyNames_1.default, - additionalProperties_1.default, - dependencies_1.default, - properties_1.default, - patternProperties_1.default - ]; - if (draft2020) - applicator.push(prefixItems_1.default, items2020_1.default); - else - applicator.push(additionalItems_1.default, items_1.default); - applicator.push(contains_1.default); - return applicator; - } - exports.default = getApplicator; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/format/format.js -var require_format = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/format/format.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var error = { - message: ({ schemaCode }) => (0, codegen_1.str)`must match format "${schemaCode}"`, - params: ({ schemaCode }) => (0, codegen_1._)`{format: ${schemaCode}}` - }; - var def = { - keyword: "format", - type: ["number", "string"], - schemaType: "string", - $data: true, - error, - code(cxt, ruleType) { - const { gen, data, $data, schema, schemaCode, it } = cxt; - const { opts, errSchemaPath, schemaEnv, self } = it; - if (!opts.validateFormats) - return; - if ($data) - validate$DataFormat(); - else - validateFormat(); - function validate$DataFormat() { - const fmts = gen.scopeValue("formats", { - ref: self.formats, - code: opts.code.formats - }); - const fDef = gen.const("fDef", (0, codegen_1._)`${fmts}[${schemaCode}]`); - const fType = gen.let("fType"); - const format = gen.let("format"); - gen.if((0, codegen_1._)`typeof ${fDef} == "object" && !(${fDef} instanceof RegExp)`, () => gen.assign(fType, (0, codegen_1._)`${fDef}.type || "string"`).assign(format, (0, codegen_1._)`${fDef}.validate`), () => gen.assign(fType, (0, codegen_1._)`"string"`).assign(format, fDef)); - cxt.fail$data((0, codegen_1.or)(unknownFmt(), invalidFmt())); - function unknownFmt() { - if (opts.strictSchema === false) - return codegen_1.nil; - return (0, codegen_1._)`${schemaCode} && !${format}`; - } - function invalidFmt() { - const callFormat = schemaEnv.$async ? (0, codegen_1._)`(${fDef}.async ? await ${format}(${data}) : ${format}(${data}))` : (0, codegen_1._)`${format}(${data})`; - const validData = (0, codegen_1._)`(typeof ${format} == "function" ? ${callFormat} : ${format}.test(${data}))`; - return (0, codegen_1._)`${format} && ${format} !== true && ${fType} === ${ruleType} && !${validData}`; - } - } - function validateFormat() { - const formatDef = self.formats[schema]; - if (!formatDef) { - unknownFormat(); - return; - } - if (formatDef === true) - return; - const [fmtType, format, fmtRef] = getFormat(formatDef); - if (fmtType === ruleType) - cxt.pass(validCondition()); - function unknownFormat() { - if (opts.strictSchema === false) { - self.logger.warn(unknownMsg()); - return; - } - throw new Error(unknownMsg()); - function unknownMsg() { - return `unknown format "${schema}" ignored in schema at path "${errSchemaPath}"`; - } - } - function getFormat(fmtDef) { - const code = fmtDef instanceof RegExp ? (0, codegen_1.regexpCode)(fmtDef) : opts.code.formats ? (0, codegen_1._)`${opts.code.formats}${(0, codegen_1.getProperty)(schema)}` : void 0; - const fmt = gen.scopeValue("formats", { key: schema, ref: fmtDef, code }); - if (typeof fmtDef == "object" && !(fmtDef instanceof RegExp)) { - return [fmtDef.type || "string", fmtDef.validate, (0, codegen_1._)`${fmt}.validate`]; - } - return ["string", fmtDef, fmt]; - } - function validCondition() { - if (typeof formatDef == "object" && !(formatDef instanceof RegExp) && formatDef.async) { - if (!schemaEnv.$async) - throw new Error("async format in sync schema"); - return (0, codegen_1._)`await ${fmtRef}(${data})`; - } - return typeof format == "function" ? (0, codegen_1._)`${fmtRef}(${data})` : (0, codegen_1._)`${fmtRef}.test(${data})`; - } - } - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/format/index.js -var require_format2 = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/format/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var format_1 = require_format(); - var format = [format_1.default]; - exports.default = format; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/metadata.js -var require_metadata = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/metadata.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.contentVocabulary = exports.metadataVocabulary = void 0; - exports.metadataVocabulary = [ - "title", - "description", - "default", - "deprecated", - "readOnly", - "writeOnly", - "examples" - ]; - exports.contentVocabulary = [ - "contentMediaType", - "contentEncoding", - "contentSchema" - ]; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/draft7.js -var require_draft7 = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/draft7.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var core_1 = require_core2(); - var validation_1 = require_validation(); - var applicator_1 = require_applicator(); - var format_1 = require_format2(); - var metadata_1 = require_metadata(); - var draft7Vocabularies = [ - core_1.default, - validation_1.default, - (0, applicator_1.default)(), - format_1.default, - metadata_1.metadataVocabulary, - metadata_1.contentVocabulary - ]; - exports.default = draft7Vocabularies; - } -}); - -// ../../node_modules/ajv/dist/vocabularies/discriminator/types.js -var require_types = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DiscrError = void 0; - var DiscrError; - (function(DiscrError2) { - DiscrError2["Tag"] = "tag"; - DiscrError2["Mapping"] = "mapping"; - })(DiscrError = exports.DiscrError || (exports.DiscrError = {})); - } -}); - -// ../../node_modules/ajv/dist/vocabularies/discriminator/index.js -var require_discriminator = __commonJS({ - "../../node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen(); - var types_1 = require_types(); - var compile_1 = require_compile(); - var util_1 = require_util(); - var error = { - message: ({ params: { discrError, tagName } }) => discrError === types_1.DiscrError.Tag ? `tag "${tagName}" must be string` : `value of tag "${tagName}" must be in oneOf`, - params: ({ params: { discrError, tag, tagName } }) => (0, codegen_1._)`{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}` - }; - var def = { - keyword: "discriminator", - type: "object", - schemaType: "object", - error, - code(cxt) { - const { gen, data, schema, parentSchema, it } = cxt; - const { oneOf } = parentSchema; - if (!it.opts.discriminator) { - throw new Error("discriminator: requires discriminator option"); - } - const tagName = schema.propertyName; - if (typeof tagName != "string") - throw new Error("discriminator: requires propertyName"); - if (schema.mapping) - throw new Error("discriminator: mapping is not supported"); - if (!oneOf) - throw new Error("discriminator: requires oneOf keyword"); - const valid = gen.let("valid", false); - const tag = gen.const("tag", (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(tagName)}`); - gen.if((0, codegen_1._)`typeof ${tag} == "string"`, () => validateMapping(), () => cxt.error(false, { discrError: types_1.DiscrError.Tag, tag, tagName })); - cxt.ok(valid); - function validateMapping() { - const mapping = getMapping(); - gen.if(false); - for (const tagValue in mapping) { - gen.elseIf((0, codegen_1._)`${tag} === ${tagValue}`); - gen.assign(valid, applyTagSchema(mapping[tagValue])); - } - gen.else(); - cxt.error(false, { discrError: types_1.DiscrError.Mapping, tag, tagName }); - gen.endIf(); - } - function applyTagSchema(schemaProp) { - const _valid = gen.name("valid"); - const schCxt = cxt.subschema({ keyword: "oneOf", schemaProp }, _valid); - cxt.mergeEvaluated(schCxt, codegen_1.Name); - return _valid; - } - function getMapping() { - var _a; - const oneOfMapping = {}; - const topRequired = hasRequired(parentSchema); - let tagRequired = true; - for (let i = 0; i < oneOf.length; i++) { - let sch = oneOf[i]; - if ((sch === null || sch === void 0 ? void 0 : sch.$ref) && !(0, util_1.schemaHasRulesButRef)(sch, it.self.RULES)) { - sch = compile_1.resolveRef.call(it.self, it.schemaEnv.root, it.baseId, sch === null || sch === void 0 ? void 0 : sch.$ref); - if (sch instanceof compile_1.SchemaEnv) - sch = sch.schema; - } - const propSch = (_a = sch === null || sch === void 0 ? void 0 : sch.properties) === null || _a === void 0 ? void 0 : _a[tagName]; - if (typeof propSch != "object") { - throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${tagName}"`); - } - tagRequired = tagRequired && (topRequired || hasRequired(sch)); - addMappings(propSch, i); - } - if (!tagRequired) - throw new Error(`discriminator: "${tagName}" must be required`); - return oneOfMapping; - function hasRequired({ required }) { - return Array.isArray(required) && required.includes(tagName); - } - function addMappings(sch, i) { - if (sch.const) { - addMapping(sch.const, i); - } else if (sch.enum) { - for (const tagValue of sch.enum) { - addMapping(tagValue, i); - } - } else { - throw new Error(`discriminator: "properties/${tagName}" must have "const" or "enum"`); - } - } - function addMapping(tagValue, i) { - if (typeof tagValue != "string" || tagValue in oneOfMapping) { - throw new Error(`discriminator: "${tagName}" values must be unique strings`); - } - oneOfMapping[tagValue] = i; - } - } - } - }; - exports.default = def; - } -}); - -// ../../node_modules/ajv/dist/refs/json-schema-draft-07.json -var require_json_schema_draft_07 = __commonJS({ - "../../node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports, module2) { - module2.exports = { - $schema: "http://json-schema.org/draft-07/schema#", - $id: "http://json-schema.org/draft-07/schema#", - title: "Core schema meta-schema", - definitions: { - schemaArray: { - type: "array", - minItems: 1, - items: { $ref: "#" } - }, - nonNegativeInteger: { - type: "integer", - minimum: 0 - }, - nonNegativeIntegerDefault0: { - allOf: [{ $ref: "#/definitions/nonNegativeInteger" }, { default: 0 }] - }, - simpleTypes: { - enum: ["array", "boolean", "integer", "null", "number", "object", "string"] - }, - stringArray: { - type: "array", - items: { type: "string" }, - uniqueItems: true, - default: [] - } - }, - type: ["object", "boolean"], - properties: { - $id: { - type: "string", - format: "uri-reference" - }, - $schema: { - type: "string", - format: "uri" - }, - $ref: { - type: "string", - format: "uri-reference" - }, - $comment: { - type: "string" - }, - title: { - type: "string" - }, - description: { - type: "string" - }, - default: true, - readOnly: { - type: "boolean", - default: false - }, - examples: { - type: "array", - items: true - }, - multipleOf: { - type: "number", - exclusiveMinimum: 0 - }, - maximum: { - type: "number" - }, - exclusiveMaximum: { - type: "number" - }, - minimum: { - type: "number" - }, - exclusiveMinimum: { - type: "number" - }, - maxLength: { $ref: "#/definitions/nonNegativeInteger" }, - minLength: { $ref: "#/definitions/nonNegativeIntegerDefault0" }, - pattern: { - type: "string", - format: "regex" - }, - additionalItems: { $ref: "#" }, - items: { - anyOf: [{ $ref: "#" }, { $ref: "#/definitions/schemaArray" }], - default: true - }, - maxItems: { $ref: "#/definitions/nonNegativeInteger" }, - minItems: { $ref: "#/definitions/nonNegativeIntegerDefault0" }, - uniqueItems: { - type: "boolean", - default: false - }, - contains: { $ref: "#" }, - maxProperties: { $ref: "#/definitions/nonNegativeInteger" }, - minProperties: { $ref: "#/definitions/nonNegativeIntegerDefault0" }, - required: { $ref: "#/definitions/stringArray" }, - additionalProperties: { $ref: "#" }, - definitions: { - type: "object", - additionalProperties: { $ref: "#" }, - default: {} - }, - properties: { - type: "object", - additionalProperties: { $ref: "#" }, - default: {} - }, - patternProperties: { - type: "object", - additionalProperties: { $ref: "#" }, - propertyNames: { format: "regex" }, - default: {} - }, - dependencies: { - type: "object", - additionalProperties: { - anyOf: [{ $ref: "#" }, { $ref: "#/definitions/stringArray" }] - } - }, - propertyNames: { $ref: "#" }, - const: true, - enum: { - type: "array", - items: true, - minItems: 1, - uniqueItems: true - }, - type: { - anyOf: [ - { $ref: "#/definitions/simpleTypes" }, - { - type: "array", - items: { $ref: "#/definitions/simpleTypes" }, - minItems: 1, - uniqueItems: true - } - ] - }, - format: { type: "string" }, - contentMediaType: { type: "string" }, - contentEncoding: { type: "string" }, - if: { $ref: "#" }, - then: { $ref: "#" }, - else: { $ref: "#" }, - allOf: { $ref: "#/definitions/schemaArray" }, - anyOf: { $ref: "#/definitions/schemaArray" }, - oneOf: { $ref: "#/definitions/schemaArray" }, - not: { $ref: "#" } - }, - default: true - }; - } -}); - -// ../../node_modules/ajv/dist/ajv.js -var require_ajv = __commonJS({ - "../../node_modules/ajv/dist/ajv.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0; - var core_1 = require_core(); - var draft7_1 = require_draft7(); - var discriminator_1 = require_discriminator(); - var draft7MetaSchema = require_json_schema_draft_07(); - var META_SUPPORT_DATA = ["/properties"]; - var META_SCHEMA_ID = "http://json-schema.org/draft-07/schema"; - var Ajv3 = class extends core_1.default { - _addVocabularies() { - super._addVocabularies(); - draft7_1.default.forEach((v) => this.addVocabulary(v)); - if (this.opts.discriminator) - this.addKeyword(discriminator_1.default); - } - _addDefaultMetaSchema() { - super._addDefaultMetaSchema(); - if (!this.opts.meta) - return; - const metaSchema = this.opts.$data ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA) : draft7MetaSchema; - this.addMetaSchema(metaSchema, META_SCHEMA_ID, false); - this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID; - } - defaultMeta() { - return this.opts.defaultMeta = super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : void 0); - } - }; - module2.exports = exports = Ajv3; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.default = Ajv3; - var validate_1 = require_validate(); - Object.defineProperty(exports, "KeywordCxt", { enumerable: true, get: function() { - return validate_1.KeywordCxt; - } }); - var codegen_1 = require_codegen(); - Object.defineProperty(exports, "_", { enumerable: true, get: function() { - return codegen_1._; - } }); - Object.defineProperty(exports, "str", { enumerable: true, get: function() { - return codegen_1.str; - } }); - Object.defineProperty(exports, "stringify", { enumerable: true, get: function() { - return codegen_1.stringify; - } }); - Object.defineProperty(exports, "nil", { enumerable: true, get: function() { - return codegen_1.nil; - } }); - Object.defineProperty(exports, "Name", { enumerable: true, get: function() { - return codegen_1.Name; - } }); - Object.defineProperty(exports, "CodeGen", { enumerable: true, get: function() { - return codegen_1.CodeGen; - } }); - } -}); - -// ../../node_modules/ajv-formats/dist/formats.js -var require_formats = __commonJS({ - "../../node_modules/ajv-formats/dist/formats.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.formatNames = exports.fastFormats = exports.fullFormats = void 0; - function fmtDef(validate, compare) { - return { validate, compare }; - } - exports.fullFormats = { - date: fmtDef(date, compareDate), - time: fmtDef(time, compareTime), - "date-time": fmtDef(date_time, compareDateTime), - duration: /^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/, - uri, - "uri-reference": /^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i, - "uri-template": /^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i, - url: /^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu, - email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i, - hostname: /^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i, - ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, - ipv6: /^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i, - regex, - uuid: /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i, - "json-pointer": /^(?:\/(?:[^~/]|~0|~1)*)*$/, - "json-pointer-uri-fragment": /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i, - "relative-json-pointer": /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/, - byte, - int32: { type: "number", validate: validateInt32 }, - int64: { type: "number", validate: validateInt64 }, - float: { type: "number", validate: validateNumber }, - double: { type: "number", validate: validateNumber }, - password: true, - binary: true - }; - exports.fastFormats = { - ...exports.fullFormats, - date: fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d$/, compareDate), - time: fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, compareTime), - "date-time": fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, compareDateTime), - uri: /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i, - "uri-reference": /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i, - email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i - }; - exports.formatNames = Object.keys(exports.fullFormats); - function isLeapYear(year) { - return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); - } - var DATE = /^(\d\d\d\d)-(\d\d)-(\d\d)$/; - var DAYS = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; - function date(str) { - const matches = DATE.exec(str); - if (!matches) - return false; - const year = +matches[1]; - const month = +matches[2]; - const day = +matches[3]; - return month >= 1 && month <= 12 && day >= 1 && day <= (month === 2 && isLeapYear(year) ? 29 : DAYS[month]); - } - function compareDate(d1, d2) { - if (!(d1 && d2)) - return void 0; - if (d1 > d2) - return 1; - if (d1 < d2) - return -1; - return 0; - } - var TIME = /^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i; - function time(str, withTimeZone) { - const matches = TIME.exec(str); - if (!matches) - return false; - const hour = +matches[1]; - const minute = +matches[2]; - const second = +matches[3]; - const timeZone = matches[5]; - return (hour <= 23 && minute <= 59 && second <= 59 || hour === 23 && minute === 59 && second === 60) && (!withTimeZone || timeZone !== ""); - } - function compareTime(t1, t2) { - if (!(t1 && t2)) - return void 0; - const a1 = TIME.exec(t1); - const a2 = TIME.exec(t2); - if (!(a1 && a2)) - return void 0; - t1 = a1[1] + a1[2] + a1[3] + (a1[4] || ""); - t2 = a2[1] + a2[2] + a2[3] + (a2[4] || ""); - if (t1 > t2) - return 1; - if (t1 < t2) - return -1; - return 0; - } - var DATE_TIME_SEPARATOR = /t|\s/i; - function date_time(str) { - const dateTime = str.split(DATE_TIME_SEPARATOR); - return dateTime.length === 2 && date(dateTime[0]) && time(dateTime[1], true); - } - function compareDateTime(dt1, dt2) { - if (!(dt1 && dt2)) - return void 0; - const [d1, t1] = dt1.split(DATE_TIME_SEPARATOR); - const [d2, t2] = dt2.split(DATE_TIME_SEPARATOR); - const res = compareDate(d1, d2); - if (res === void 0) - return void 0; - return res || compareTime(t1, t2); - } - var NOT_URI_FRAGMENT = /\/|:/; - var URI = /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i; - function uri(str) { - return NOT_URI_FRAGMENT.test(str) && URI.test(str); - } - var BYTE = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm; - function byte(str) { - BYTE.lastIndex = 0; - return BYTE.test(str); - } - var MIN_INT32 = -(2 ** 31); - var MAX_INT32 = 2 ** 31 - 1; - function validateInt32(value) { - return Number.isInteger(value) && value <= MAX_INT32 && value >= MIN_INT32; - } - function validateInt64(value) { - return Number.isInteger(value); - } - function validateNumber() { - return true; - } - var Z_ANCHOR = /[^\\]\\Z/; - function regex(str) { - if (Z_ANCHOR.test(str)) - return false; - try { - new RegExp(str); - return true; - } catch (e) { - return false; - } - } - } -}); - -// ../../node_modules/ajv-formats/dist/limit.js -var require_limit = __commonJS({ - "../../node_modules/ajv-formats/dist/limit.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.formatLimitDefinition = void 0; - var ajv_1 = require_ajv(); - var codegen_1 = require_codegen(); - var ops = codegen_1.operators; - var KWDs = { - formatMaximum: { okStr: "<=", ok: ops.LTE, fail: ops.GT }, - formatMinimum: { okStr: ">=", ok: ops.GTE, fail: ops.LT }, - formatExclusiveMaximum: { okStr: "<", ok: ops.LT, fail: ops.GTE }, - formatExclusiveMinimum: { okStr: ">", ok: ops.GT, fail: ops.LTE } - }; - var error = { - message: ({ keyword, schemaCode }) => codegen_1.str`should be ${KWDs[keyword].okStr} ${schemaCode}`, - params: ({ keyword, schemaCode }) => codegen_1._`{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}` - }; - exports.formatLimitDefinition = { - keyword: Object.keys(KWDs), - type: "string", - schemaType: "string", - $data: true, - error, - code(cxt) { - const { gen, data, schemaCode, keyword, it } = cxt; - const { opts, self } = it; - if (!opts.validateFormats) - return; - const fCxt = new ajv_1.KeywordCxt(it, self.RULES.all.format.definition, "format"); - if (fCxt.$data) - validate$DataFormat(); - else - validateFormat(); - function validate$DataFormat() { - const fmts = gen.scopeValue("formats", { - ref: self.formats, - code: opts.code.formats - }); - const fmt = gen.const("fmt", codegen_1._`${fmts}[${fCxt.schemaCode}]`); - cxt.fail$data(codegen_1.or(codegen_1._`typeof ${fmt} != "object"`, codegen_1._`${fmt} instanceof RegExp`, codegen_1._`typeof ${fmt}.compare != "function"`, compareCode(fmt))); - } - function validateFormat() { - const format = fCxt.schema; - const fmtDef = self.formats[format]; - if (!fmtDef || fmtDef === true) - return; - if (typeof fmtDef != "object" || fmtDef instanceof RegExp || typeof fmtDef.compare != "function") { - throw new Error(`"${keyword}": format "${format}" does not define "compare" function`); - } - const fmt = gen.scopeValue("formats", { - key: format, - ref: fmtDef, - code: opts.code.formats ? codegen_1._`${opts.code.formats}${codegen_1.getProperty(format)}` : void 0 - }); - cxt.fail$data(compareCode(fmt)); - } - function compareCode(fmt) { - return codegen_1._`${fmt}.compare(${data}, ${schemaCode}) ${KWDs[keyword].fail} 0`; - } - }, - dependencies: ["format"] - }; - var formatLimitPlugin = (ajv3) => { - ajv3.addKeyword(exports.formatLimitDefinition); - return ajv3; - }; - exports.default = formatLimitPlugin; - } -}); - -// ../../node_modules/ajv-formats/dist/index.js -var require_dist = __commonJS({ - "../../node_modules/ajv-formats/dist/index.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var formats_1 = require_formats(); - var limit_1 = require_limit(); - var codegen_1 = require_codegen(); - var fullName = new codegen_1.Name("fullFormats"); - var fastName = new codegen_1.Name("fastFormats"); - var formatsPlugin = (ajv3, opts = { keywords: true }) => { - if (Array.isArray(opts)) { - addFormats(ajv3, opts, formats_1.fullFormats, fullName); - return ajv3; - } - const [formats, exportName] = opts.mode === "fast" ? [formats_1.fastFormats, fastName] : [formats_1.fullFormats, fullName]; - const list = opts.formats || formats_1.formatNames; - addFormats(ajv3, list, formats, exportName); - if (opts.keywords) - limit_1.default(ajv3); - return ajv3; - }; - formatsPlugin.get = (name, mode = "full") => { - const formats = mode === "fast" ? formats_1.fastFormats : formats_1.fullFormats; - const f = formats[name]; - if (!f) - throw new Error(`Unknown format "${name}"`); - return f; - }; - function addFormats(ajv3, list, fs, exportName) { - var _a; - var _b; - (_a = (_b = ajv3.opts.code).formats) !== null && _a !== void 0 ? _a : _b.formats = codegen_1._`require("ajv-formats/dist/formats").${exportName}`; - for (const f of list) - ajv3.addFormat(f, fs[f]); - } - module2.exports = exports = formatsPlugin; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.default = formatsPlugin; - } -}); - // src/index.ts var src_exports = {}; __export(src_exports, { @@ -6943,20 +34,23 @@ __export(src_exports, { AppBskyActorGetProfile: () => getProfile_exports, AppBskyActorGetSuggestions: () => getSuggestions_exports, AppBskyActorProfile: () => profile_exports, + AppBskyActorRef: () => ref_exports, AppBskyActorSearch: () => search_exports, AppBskyActorSearchTypeahead: () => searchTypeahead_exports, AppBskyActorUpdateProfile: () => updateProfile_exports, + AppBskyFeedEmbed: () => embed_exports, AppBskyFeedGetAuthorFeed: () => getAuthorFeed_exports, AppBskyFeedGetPostThread: () => getPostThread_exports, AppBskyFeedGetRepostedBy: () => getRepostedBy_exports, AppBskyFeedGetTimeline: () => getTimeline_exports, AppBskyFeedGetVotes: () => getVotes_exports, - AppBskyFeedMediaEmbed: () => mediaEmbed_exports, AppBskyFeedPost: () => post_exports, AppBskyFeedRepost: () => repost_exports, AppBskyFeedSetVote: () => setVote_exports, AppBskyFeedTrend: () => trend_exports, AppBskyFeedVote: () => vote_exports, + AppBskyGraphAssertCreator: () => assertCreator_exports, + AppBskyGraphAssertMember: () => assertMember_exports, AppBskyGraphAssertion: () => assertion_exports, AppBskyGraphConfirmation: () => confirmation_exports, AppBskyGraphFollow: () => follow_exports, @@ -6968,6 +62,9 @@ __export(src_exports, { AppBskyNotificationGetCount: () => getCount_exports, AppBskyNotificationList: () => list_exports, AppBskyNotificationUpdateSeen: () => updateSeen_exports, + AppBskySystemActorScene: () => actorScene_exports, + AppBskySystemActorUser: () => actorUser_exports, + AppBskySystemDeclRef: () => declRef_exports, AppBskySystemDeclaration: () => declaration_exports, AppNS: () => AppNS, AssertionRecord: () => AssertionRecord, @@ -6988,6 +85,7 @@ __export(src_exports, { ComAtprotoRepoGetRecord: () => getRecord_exports, ComAtprotoRepoListRecords: () => listRecords_exports, ComAtprotoRepoPutRecord: () => putRecord_exports, + ComAtprotoRepoStrongRef: () => strongRef_exports, ComAtprotoServerGetAccountsConfig: () => getAccountsConfig_exports, ComAtprotoSessionCreate: () => create_exports2, ComAtprotoSessionDelete: () => delete_exports2, @@ -7003,7 +101,6 @@ __export(src_exports, { FollowRecord: () => FollowRecord, GraphNS: () => GraphNS, HandleNS: () => HandleNS, - MediaEmbedRecord: () => MediaEmbedRecord, NotificationNS: () => NotificationNS, PostRecord: () => PostRecord, ProfileRecord: () => ProfileRecord, @@ -7056,10 +153,10 @@ var util; return obj[e]; }); }; - util2.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => { + util2.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object2) => { const keys = []; - for (const key in object) { - if (Object.prototype.hasOwnProperty.call(object, key)) { + for (const key in object2) { + if (Object.prototype.hasOwnProperty.call(object2, key)) { keys.push(key); } } @@ -7073,8 +170,8 @@ var util; return void 0; }; util2.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && isFinite(val) && Math.floor(val) === val; - function joinValues(array, separator = " | ") { - return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator); + function joinValues(array2, separator = " | ") { + return array2.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator); } util2.joinValues = joinValues; util2.jsonStringifyReplacer = (_, value) => { @@ -7349,8 +446,8 @@ function setErrorMap(map) { function getErrorMap() { return overrideErrorMap; } -var makeIssue = (params) => { - const { data, path, errorMaps, issueData } = params; +var makeIssue = (params2) => { + const { data, path, errorMaps, issueData } = params2; const fullPath = [...path, ...issueData.path || []]; const fullIssue = { ...issueData, @@ -7470,10 +567,10 @@ var handleResult = (ctx, result) => { return { success: false, error }; } }; -function processCreateParams(params) { - if (!params) +function processCreateParams(params2) { + if (!params2) return {}; - const { errorMap: errorMap2, invalid_type_error, required_error, description } = params; + const { errorMap: errorMap2, invalid_type_error, required_error, description } = params2; if (errorMap2 && (invalid_type_error || required_error)) { throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`); } @@ -7555,21 +652,21 @@ var ZodType = class { const result = this._parse(input); return Promise.resolve(result); } - parse(data, params) { - const result = this.safeParse(data, params); + parse(data, params2) { + const result = this.safeParse(data, params2); if (result.success) return result.data; throw result.error; } - safeParse(data, params) { + safeParse(data, params2) { var _a; const ctx = { common: { issues: [], - async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false, - contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap + async: (_a = params2 === null || params2 === void 0 ? void 0 : params2.async) !== null && _a !== void 0 ? _a : false, + contextualErrorMap: params2 === null || params2 === void 0 ? void 0 : params2.errorMap }, - path: (params === null || params === void 0 ? void 0 : params.path) || [], + path: (params2 === null || params2 === void 0 ? void 0 : params2.path) || [], schemaErrorMap: this._def.errorMap, parent: null, data, @@ -7578,20 +675,20 @@ var ZodType = class { const result = this._parseSync({ data, path: ctx.path, parent: ctx }); return handleResult(ctx, result); } - async parseAsync(data, params) { - const result = await this.safeParseAsync(data, params); + async parseAsync(data, params2) { + const result = await this.safeParseAsync(data, params2); if (result.success) return result.data; throw result.error; } - async safeParseAsync(data, params) { + async safeParseAsync(data, params2) { const ctx = { common: { issues: [], - contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap, + contextualErrorMap: params2 === null || params2 === void 0 ? void 0 : params2.errorMap, async: true }, - path: (params === null || params === void 0 ? void 0 : params.path) || [], + path: (params2 === null || params2 === void 0 ? void 0 : params2.path) || [], schemaErrorMap: this._def.errorMap, parent: null, data, @@ -7938,11 +1035,11 @@ var ZodString = class extends ZodType { return max; } }; -ZodString.create = (params) => { +ZodString.create = (params2) => { return new ZodString({ checks: [], typeName: ZodFirstPartyTypeKind.ZodString, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; function floatSafeRemainder(val, step) { @@ -8128,11 +1225,11 @@ var ZodNumber = class extends ZodType { return !!this._def.checks.find((ch) => ch.kind === "int"); } }; -ZodNumber.create = (params) => { +ZodNumber.create = (params2) => { return new ZodNumber({ checks: [], typeName: ZodFirstPartyTypeKind.ZodNumber, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodBigInt = class extends ZodType { @@ -8150,10 +1247,10 @@ var ZodBigInt = class extends ZodType { return OK(input.data); } }; -ZodBigInt.create = (params) => { +ZodBigInt.create = (params2) => { return new ZodBigInt({ typeName: ZodFirstPartyTypeKind.ZodBigInt, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodBoolean = class extends ZodType { @@ -8171,10 +1268,10 @@ var ZodBoolean = class extends ZodType { return OK(input.data); } }; -ZodBoolean.create = (params) => { +ZodBoolean.create = (params2) => { return new ZodBoolean({ typeName: ZodFirstPartyTypeKind.ZodBoolean, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodDate = class extends ZodType { @@ -8273,11 +1370,11 @@ var ZodDate = class extends ZodType { return max != null ? new Date(max) : null; } }; -ZodDate.create = (params) => { +ZodDate.create = (params2) => { return new ZodDate({ checks: [], typeName: ZodFirstPartyTypeKind.ZodDate, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodUndefined = class extends ZodType { @@ -8295,10 +1392,10 @@ var ZodUndefined = class extends ZodType { return OK(input.data); } }; -ZodUndefined.create = (params) => { +ZodUndefined.create = (params2) => { return new ZodUndefined({ typeName: ZodFirstPartyTypeKind.ZodUndefined, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodNull = class extends ZodType { @@ -8316,10 +1413,10 @@ var ZodNull = class extends ZodType { return OK(input.data); } }; -ZodNull.create = (params) => { +ZodNull.create = (params2) => { return new ZodNull({ typeName: ZodFirstPartyTypeKind.ZodNull, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodAny = class extends ZodType { @@ -8331,10 +1428,10 @@ var ZodAny = class extends ZodType { return OK(input.data); } }; -ZodAny.create = (params) => { +ZodAny.create = (params2) => { return new ZodAny({ typeName: ZodFirstPartyTypeKind.ZodAny, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodUnknown = class extends ZodType { @@ -8346,10 +1443,10 @@ var ZodUnknown = class extends ZodType { return OK(input.data); } }; -ZodUnknown.create = (params) => { +ZodUnknown.create = (params2) => { return new ZodUnknown({ typeName: ZodFirstPartyTypeKind.ZodUnknown, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodNever = class extends ZodType { @@ -8363,10 +1460,10 @@ var ZodNever = class extends ZodType { return INVALID; } }; -ZodNever.create = (params) => { +ZodNever.create = (params2) => { return new ZodNever({ typeName: ZodFirstPartyTypeKind.ZodNever, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodVoid = class extends ZodType { @@ -8384,10 +1481,10 @@ var ZodVoid = class extends ZodType { return OK(input.data); } }; -ZodVoid.create = (params) => { +ZodVoid.create = (params2) => { return new ZodVoid({ typeName: ZodFirstPartyTypeKind.ZodVoid, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodArray = class extends ZodType { @@ -8460,13 +1557,13 @@ var ZodArray = class extends ZodType { return this.min(1, message); } }; -ZodArray.create = (schema, params) => { +ZodArray.create = (schema, params2) => { return new ZodArray({ type: schema, minLength: null, maxLength: null, typeName: ZodFirstPartyTypeKind.ZodArray, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var objectUtil; @@ -8733,31 +1830,31 @@ var ZodObject = class extends ZodType { return createZodEnum(util.objectKeys(this.shape)); } }; -ZodObject.create = (shape, params) => { +ZodObject.create = (shape, params2) => { return new ZodObject({ shape: () => shape, unknownKeys: "strip", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; -ZodObject.strictCreate = (shape, params) => { +ZodObject.strictCreate = (shape, params2) => { return new ZodObject({ shape: () => shape, unknownKeys: "strict", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; -ZodObject.lazycreate = (shape, params) => { +ZodObject.lazycreate = (shape, params2) => { return new ZodObject({ shape, unknownKeys: "strip", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodUnion = class extends ZodType { @@ -8844,11 +1941,11 @@ var ZodUnion = class extends ZodType { return this._def.options; } }; -ZodUnion.create = (types, params) => { +ZodUnion.create = (types, params2) => { return new ZodUnion({ options: types, typeName: ZodFirstPartyTypeKind.ZodUnion, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodDiscriminatedUnion = class extends ZodType { @@ -8896,7 +1993,7 @@ var ZodDiscriminatedUnion = class extends ZodType { get options() { return this._def.options; } - static create(discriminator, types, params) { + static create(discriminator, types, params2) { const options = /* @__PURE__ */ new Map(); try { types.forEach((type) => { @@ -8913,7 +2010,7 @@ var ZodDiscriminatedUnion = class extends ZodType { typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion, discriminator, options, - ...processCreateParams(params) + ...processCreateParams(params2) }); } }; @@ -9000,12 +2097,12 @@ var ZodIntersection = class extends ZodType { } } }; -ZodIntersection.create = (left, right, params) => { +ZodIntersection.create = (left, right, params2) => { return new ZodIntersection({ left, right, typeName: ZodFirstPartyTypeKind.ZodIntersection, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodTuple = class extends ZodType { @@ -9062,7 +2159,7 @@ var ZodTuple = class extends ZodType { }); } }; -ZodTuple.create = (schemas, params) => { +ZodTuple.create = (schemas, params2) => { if (!Array.isArray(schemas)) { throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); } @@ -9070,7 +2167,7 @@ ZodTuple.create = (schemas, params) => { items: schemas, typeName: ZodFirstPartyTypeKind.ZodTuple, rest: null, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodRecord = class extends ZodType { @@ -9177,12 +2274,12 @@ var ZodMap = class extends ZodType { } } }; -ZodMap.create = (keyType, valueType, params) => { +ZodMap.create = (keyType, valueType, params2) => { return new ZodMap({ valueType, keyType, typeName: ZodFirstPartyTypeKind.ZodMap, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodSet = class extends ZodType { @@ -9259,13 +2356,13 @@ var ZodSet = class extends ZodType { return this.min(1, message); } }; -ZodSet.create = (valueType, params) => { +ZodSet.create = (valueType, params2) => { return new ZodSet({ valueType, minSize: null, maxSize: null, typeName: ZodFirstPartyTypeKind.ZodSet, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodFunction = class extends ZodType { @@ -9315,17 +2412,17 @@ var ZodFunction = class extends ZodType { } }); } - const params = { errorMap: ctx.common.contextualErrorMap }; + const params2 = { errorMap: ctx.common.contextualErrorMap }; const fn = ctx.data; if (this._def.returns instanceof ZodPromise) { return OK(async (...args) => { const error = new ZodError([]); - const parsedArgs = await this._def.args.parseAsync(args, params).catch((e) => { + const parsedArgs = await this._def.args.parseAsync(args, params2).catch((e) => { error.addIssue(makeArgsIssue(args, e)); throw error; }); const result = await fn(...parsedArgs); - const parsedReturns = await this._def.returns._def.type.parseAsync(result, params).catch((e) => { + const parsedReturns = await this._def.returns._def.type.parseAsync(result, params2).catch((e) => { error.addIssue(makeReturnsIssue(result, e)); throw error; }); @@ -9333,12 +2430,12 @@ var ZodFunction = class extends ZodType { }); } else { return OK((...args) => { - const parsedArgs = this._def.args.safeParse(args, params); + const parsedArgs = this._def.args.safeParse(args, params2); if (!parsedArgs.success) { throw new ZodError([makeArgsIssue(args, parsedArgs.error)]); } const result = fn(...parsedArgs.data); - const parsedReturns = this._def.returns.safeParse(result, params); + const parsedReturns = this._def.returns.safeParse(result, params2); if (!parsedReturns.success) { throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]); } @@ -9372,12 +2469,12 @@ var ZodFunction = class extends ZodType { const validatedFunc = this.parse(func); return validatedFunc; } - static create(args, returns, params) { + static create(args, returns, params2) { return new ZodFunction({ args: args ? args : ZodTuple.create([]).rest(ZodUnknown.create()), returns: returns || ZodUnknown.create(), typeName: ZodFirstPartyTypeKind.ZodFunction, - ...processCreateParams(params) + ...processCreateParams(params2) }); } }; @@ -9391,11 +2488,11 @@ var ZodLazy = class extends ZodType { return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx }); } }; -ZodLazy.create = (getter, params) => { +ZodLazy.create = (getter, params2) => { return new ZodLazy({ getter, typeName: ZodFirstPartyTypeKind.ZodLazy, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodLiteral = class extends ZodType { @@ -9414,18 +2511,18 @@ var ZodLiteral = class extends ZodType { return this._def.value; } }; -ZodLiteral.create = (value, params) => { +ZodLiteral.create = (value, params2) => { return new ZodLiteral({ value, typeName: ZodFirstPartyTypeKind.ZodLiteral, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; -function createZodEnum(values, params) { +function createZodEnum(values, params2) { return new ZodEnum({ values, typeName: ZodFirstPartyTypeKind.ZodEnum, - ...processCreateParams(params) + ...processCreateParams(params2) }); } var ZodEnum = class extends ZodType { @@ -9506,11 +2603,11 @@ var ZodNativeEnum = class extends ZodType { return this._def.values; } }; -ZodNativeEnum.create = (values, params) => { +ZodNativeEnum.create = (values, params2) => { return new ZodNativeEnum({ values, typeName: ZodFirstPartyTypeKind.ZodNativeEnum, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodPromise = class extends ZodType { @@ -9533,11 +2630,11 @@ var ZodPromise = class extends ZodType { })); } }; -ZodPromise.create = (schema, params) => { +ZodPromise.create = (schema, params2) => { return new ZodPromise({ type: schema, typeName: ZodFirstPartyTypeKind.ZodPromise, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodEffects = class extends ZodType { @@ -9639,20 +2736,20 @@ var ZodEffects = class extends ZodType { util.assertNever(effect); } }; -ZodEffects.create = (schema, effect, params) => { +ZodEffects.create = (schema, effect, params2) => { return new ZodEffects({ schema, typeName: ZodFirstPartyTypeKind.ZodEffects, effect, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; -ZodEffects.createWithPreprocess = (preprocess, schema, params) => { +ZodEffects.createWithPreprocess = (preprocess, schema, params2) => { return new ZodEffects({ schema, effect: { type: "preprocess", transform: preprocess }, typeName: ZodFirstPartyTypeKind.ZodEffects, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodOptional = class extends ZodType { @@ -9667,11 +2764,11 @@ var ZodOptional = class extends ZodType { return this._def.innerType; } }; -ZodOptional.create = (type, params) => { +ZodOptional.create = (type, params2) => { return new ZodOptional({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodOptional, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodNullable = class extends ZodType { @@ -9686,11 +2783,11 @@ var ZodNullable = class extends ZodType { return this._def.innerType; } }; -ZodNullable.create = (type, params) => { +ZodNullable.create = (type, params2) => { return new ZodNullable({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodNullable, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodDefault = class extends ZodType { @@ -9710,11 +2807,11 @@ var ZodDefault = class extends ZodType { return this._def.innerType; } }; -ZodDefault.create = (type, params) => { +ZodDefault.create = (type, params2) => { return new ZodOptional({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodOptional, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var ZodNaN = class extends ZodType { @@ -9732,10 +2829,10 @@ var ZodNaN = class extends ZodType { return { status: "valid", value: input.data }; } }; -ZodNaN.create = (params) => { +ZodNaN.create = (params2) => { return new ZodNaN({ typeName: ZodFirstPartyTypeKind.ZodNaN, - ...processCreateParams(params) + ...processCreateParams(params2) }); }; var BRAND = Symbol("zod_brand"); @@ -9753,11 +2850,11 @@ var ZodBranded = class extends ZodType { return this._def.type; } }; -var custom = (check, params = {}, fatal) => { +var custom = (check, params2 = {}, fatal) => { if (check) return ZodAny.create().superRefine((data, ctx) => { if (!check(data)) { - const p = typeof params === "function" ? params(data) : params; + const p = typeof params2 === "function" ? params2(data) : params2; const p2 = typeof p === "string" ? { message: p } : p; ctx.addIssue({ code: "custom", ...p2, fatal }); } @@ -9802,9 +2899,9 @@ var ZodFirstPartyTypeKind; ZodFirstPartyTypeKind2["ZodPromise"] = "ZodPromise"; ZodFirstPartyTypeKind2["ZodBranded"] = "ZodBranded"; })(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {})); -var instanceOfType = (cls, params = { +var instanceOfType = (cls, params2 = { message: `Input not instance of ${cls.name}` -}) => custom((data) => data instanceof cls, params, true); +}) => custom((data) => data instanceof cls, params2, true); var stringType = ZodString.create; var numberType = ZodNumber.create; var nanType = ZodNaN.create; @@ -10066,88 +3163,843 @@ var NSID = class { }; // ../lexicon/src/types.ts -var tokenSchema = mod.object({ - lexicon: mod.literal(1), - id: mod.string().refine((v) => NSID.isValid(v), { - message: "Must be a valid NSID" - }), - type: mod.enum(["token"]), - revision: mod.number().optional(), +var lexBoolean = mod.object({ + type: mod.literal("boolean"), description: mod.string().optional(), - defs: mod.any().optional() + default: mod.boolean().optional(), + const: mod.boolean().optional() }); -var recordSchema = mod.object({ - lexicon: mod.literal(1), - id: mod.string().refine((v) => NSID.isValid(v), { - message: "Must be a valid NSID" - }), - type: mod.enum(["record"]), - revision: mod.number().optional(), +var lexNumber = mod.object({ + type: mod.literal("number"), description: mod.string().optional(), - key: mod.string().optional(), - record: mod.any().optional(), - defs: mod.any().optional() + default: mod.number().optional(), + minimum: mod.number().optional(), + maximum: mod.number().optional(), + enum: mod.number().array().optional(), + const: mod.number().optional() +}); +var lexInteger = mod.object({ + type: mod.literal("integer"), + description: mod.string().optional(), + default: mod.number().int().optional(), + minimum: mod.number().int().optional(), + maximum: mod.number().int().optional(), + enum: mod.number().int().array().optional(), + const: mod.number().int().optional() +}); +var lexString = mod.object({ + type: mod.literal("string"), + description: mod.string().optional(), + default: mod.string().optional(), + minLength: mod.number().int().optional(), + maxLength: mod.number().int().optional(), + enum: mod.string().array().optional(), + const: mod.string().optional(), + knownValues: mod.string().array().optional() +}); +var lexDatetime = mod.object({ + type: mod.literal("datetime"), + description: mod.string().optional() +}); +var lexUnknown = mod.object({ + type: mod.literal("unknown"), + description: mod.string().optional() +}); +var lexPrimitive = mod.union([ + lexBoolean, + lexNumber, + lexInteger, + lexString, + lexDatetime, + lexUnknown +]); +var lexRef = mod.object({ + type: mod.literal("ref"), + description: mod.string().optional(), + ref: mod.string() +}); +var lexRefUnion = mod.object({ + type: mod.literal("union"), + description: mod.string().optional(), + refs: mod.string().array(), + closed: mod.boolean().optional() +}); +var lexRefVariant = mod.union([lexRef, lexRefUnion]); +var lexBlob = mod.object({ + type: mod.literal("blob"), + description: mod.string().optional(), + accept: mod.string().array().optional(), + maxSize: mod.number().optional() +}); +var lexImage = mod.object({ + type: mod.literal("image"), + description: mod.string().optional(), + accept: mod.string().array().optional(), + maxSize: mod.number().optional(), + maxWidth: mod.number().int().optional(), + maxHeight: mod.number().int().optional() }); -var methodSchemaBody = mod.object({ - encoding: mod.union([mod.string(), mod.string().array()]), +var lexVideo = mod.object({ + type: mod.literal("video"), description: mod.string().optional(), - schema: mod.any().optional() + accept: mod.string().array().optional(), + maxSize: mod.number().optional(), + maxWidth: mod.number().int().optional(), + maxHeight: mod.number().int().optional(), + maxLength: mod.number().int().optional() }); -var methodSchemaParam = mod.object({ +var lexAudio = mod.object({ + type: mod.literal("audio"), + description: mod.string().optional(), + accept: mod.string().array().optional(), + maxSize: mod.number().optional(), + maxLength: mod.number().int().optional() +}); +var lexBlobVariant = mod.union([lexBlob, lexImage, lexVideo, lexAudio]); +var lexArray = mod.object({ + type: mod.literal("array"), + description: mod.string().optional(), + items: mod.union([lexPrimitive, lexBlobVariant, lexRefVariant]), + minLength: mod.number().int().optional(), + maxLength: mod.number().int().optional() +}); +var lexToken = mod.object({ + type: mod.literal("token"), + description: mod.string().optional() +}); +var lexObject = mod.object({ type: mod.literal("object"), - properties: mod.record( - mod.object({ - type: mod.enum(["string", "number", "integer", "boolean"]) - }).catchall(mod.any()) - ) -}).catchall(mod.any()); -var methodSchemaError = mod.object({ + description: mod.string().optional(), + required: mod.string().array().optional(), + properties: mod.record(mod.union([lexRefVariant, lexArray, lexBlobVariant, lexPrimitive])).optional() +}); +var lexXrpcParameters = mod.object({ + type: mod.literal("params"), + description: mod.string().optional(), + required: mod.string().array().optional(), + properties: mod.record(lexPrimitive) +}); +var lexXrpcBody = mod.object({ + description: mod.string().optional(), + encoding: mod.string(), + schema: mod.union([lexRefVariant, lexObject]).optional() +}); +var lexXrpcError = mod.object({ name: mod.string(), description: mod.string().optional() }); -var methodSchema = mod.object({ +var lexXrpcQuery = mod.object({ + type: mod.literal("query"), + description: mod.string().optional(), + parameters: lexXrpcParameters.optional(), + output: lexXrpcBody.optional(), + errors: lexXrpcError.array().optional() +}); +var lexXrpcProcedure = mod.object({ + type: mod.literal("procedure"), + description: mod.string().optional(), + parameters: lexXrpcParameters.optional(), + input: lexXrpcBody.optional(), + output: lexXrpcBody.optional(), + errors: lexXrpcError.array().optional() +}); +var lexRecord = mod.object({ + type: mod.literal("record"), + description: mod.string().optional(), + key: mod.string().optional(), + record: lexObject +}); +var lexUserType = mod.union([ + lexRecord, + lexXrpcQuery, + lexXrpcProcedure, + lexBlob, + lexImage, + lexVideo, + lexAudio, + lexArray, + lexToken, + lexObject, + lexBoolean, + lexNumber, + lexInteger, + lexString, + lexDatetime, + lexUnknown +]); +var lexiconDoc = mod.object({ lexicon: mod.literal(1), - id: mod.string(), - type: mod.enum(["query", "procedure"]), + id: mod.string().refine((v) => NSID.isValid(v), { + message: "Must be a valid NSID" + }), + revision: mod.number().optional(), description: mod.string().optional(), - parameters: methodSchemaParam.optional(), - input: methodSchemaBody.optional(), - output: methodSchemaBody.optional(), - errors: methodSchemaError.array().optional(), - defs: mod.any().optional() + defs: mod.record(lexUserType) +}).superRefine((doc, ctx) => { + for (const defId in doc.defs) { + const def = doc.defs[defId]; + if (defId !== "main" && (def.type === "record" || def.type === "procedure" || def.type === "query")) { + ctx.addIssue({ + code: mod.ZodIssueCode.custom, + message: `Records, procedures, and queries must be the main definition.` + }); + } + } }); -function isValidMethodSchema(v) { - return methodSchema.safeParse(v).success; +function isObj(obj) { + return !!obj && typeof obj === "object"; +} +function hasProp(data, prop) { + return prop in data; +} +var discriminatedObject = mod.object({ $type: mod.string() }); +function isDiscriminatedObject(value) { + return discriminatedObject.safeParse(value).success; +} +var LexiconDocMalformedError = class extends Error { + constructor(message, schemaDef, issues) { + super(message); + this.schemaDef = schemaDef; + this.issues = issues; + this.schemaDef = schemaDef; + this.issues = issues; + } +}; +var ValidationError = class extends Error { +}; +var InvalidLexiconError = class extends Error { +}; +var LexiconDefNotFoundError = class extends Error { +}; + +// ../lexicon/src/validators/primitives.ts +function validate(lexicons2, path, def, value) { + switch (def.type) { + case "boolean": + return boolean(lexicons2, path, def, value); + case "number": + return number(lexicons2, path, def, value); + case "integer": + return integer(lexicons2, path, def, value); + case "string": + return string(lexicons2, path, def, value); + case "datetime": + return datetime(lexicons2, path, def, value); + case "unknown": + return unknown(lexicons2, path, def, value); + default: + return { + success: false, + error: new ValidationError(`Unexpected lexicon type: ${def.type}`) + }; + } +} +function boolean(lexicons2, path, def, value) { + def = def; + const type = typeof value; + if (type == "undefined") { + if (typeof def.default === "boolean") { + return { success: true }; + } + return { + success: false, + error: new ValidationError(`${path} must be a boolean`) + }; + } else if (type !== "boolean") { + return { + success: false, + error: new ValidationError(`${path} must be a boolean`) + }; + } + if (typeof def.const === "boolean") { + if (value !== def.const) { + return { + success: false, + error: new ValidationError(`${path} must be ${def.const}`) + }; + } + } + return { success: true }; +} +function number(lexicons2, path, def, value) { + def = def; + const type = typeof value; + if (type == "undefined") { + if (typeof def.default === "number") { + return { success: true }; + } + return { + success: false, + error: new ValidationError(`${path} must be a number`) + }; + } else if (type !== "number") { + return { + success: false, + error: new ValidationError(`${path} must be a number`) + }; + } + if (typeof def.const === "number") { + if (value !== def.const) { + return { + success: false, + error: new ValidationError(`${path} must be ${def.const}`) + }; + } + } + if (Array.isArray(def.enum)) { + if (!def.enum.includes(value)) { + return { + success: false, + error: new ValidationError( + `${path} must be one of (${def.enum.join("|")})` + ) + }; + } + } + if (typeof def.maximum === "number") { + if (value > def.maximum) { + return { + success: false, + error: new ValidationError( + `${path} can not be greater than ${def.maximum}` + ) + }; + } + } + if (typeof def.minimum === "number") { + if (value < def.minimum) { + return { + success: false, + error: new ValidationError( + `${path} can not be less than ${def.minimum}` + ) + }; + } + } + return { success: true }; +} +function integer(lexicons2, path, def, value) { + def = def; + const numRes = number(lexicons2, path, def, value); + if (!numRes.success) { + return numRes; + } + if (!Number.isInteger(value)) { + return { + success: false, + error: new ValidationError(`${path} must be an integer`) + }; + } + return { success: true }; +} +function string(lexicons2, path, def, value) { + def = def; + const type = typeof value; + if (type == "undefined") { + if (typeof def.default === "string") { + return { success: true }; + } + return { + success: false, + error: new ValidationError(`${path} must be a string`) + }; + } else if (type !== "string") { + return { + success: false, + error: new ValidationError(`${path} must be a string`) + }; + } + if (typeof def.const === "string") { + if (value !== def.const) { + return { + success: false, + error: new ValidationError(`${path} must be ${def.const}`) + }; + } + } + if (Array.isArray(def.enum)) { + if (!def.enum.includes(value)) { + return { + success: false, + error: new ValidationError( + `${path} must be one of (${def.enum.join("|")})` + ) + }; + } + } + if (typeof def.maxLength === "number") { + if (value.length > def.maxLength) { + return { + success: false, + error: new ValidationError( + `${path} must not be longer than ${def.maxLength} characters` + ) + }; + } + } + if (typeof def.minLength === "number") { + if (value.length < def.minLength) { + return { + success: false, + error: new ValidationError( + `${path} must not be shorter than ${def.minLength} characters` + ) + }; + } + } + return { success: true }; +} +function datetime(lexicons2, path, def, value) { + def = def; + const type = typeof value; + if (type !== "string") { + return { + success: false, + error: new ValidationError(`${path} must be a string`) + }; + } + { + try { + const date = new Date(Date.parse(value)); + if (value !== date.toISOString()) { + throw new ValidationError( + `${path} must be an iso8601 formatted datetime` + ); + } + } catch { + throw new ValidationError(`${path} must be an iso8601 formatted datetime`); + } + } + return { success: true }; +} +function unknown(lexicons2, path, def, value) { + if (!value || typeof value !== "object") { + return { + success: false, + error: new ValidationError(`${path} must be an object`) + }; + } + return { success: true }; +} + +// ../lexicon/src/validators/blob.ts +function blob(lexicons2, path, def, value) { + if (!isObj(value)) { + return { + success: false, + error: new ValidationError(`${path} should be an object`) + }; + } + if (!hasProp(value, "cid") || typeof value.cid !== "string") { + return { + success: false, + error: new ValidationError(`${path}/cid should be a string`) + }; + } + if (!hasProp(value, "mimeType") || typeof value.mimeType !== "string") { + return { + success: false, + error: new ValidationError(`${path}/mimeType should be a string`) + }; + } + return { success: true }; +} +function image(lexicons2, path, def, value) { + return blob(lexicons2, path, def, value); +} +function video(lexicons2, path, def, value) { + return blob(lexicons2, path, def, value); +} +function audio(lexicons2, path, def, value) { + return blob(lexicons2, path, def, value); +} + +// ../lexicon/src/validators/complex.ts +function validate2(lexicons2, path, def, value) { + switch (def.type) { + case "boolean": + return boolean(lexicons2, path, def, value); + case "number": + return number(lexicons2, path, def, value); + case "integer": + return integer(lexicons2, path, def, value); + case "string": + return string(lexicons2, path, def, value); + case "datetime": + return datetime(lexicons2, path, def, value); + case "unknown": + return unknown(lexicons2, path, def, value); + case "object": + return object(lexicons2, path, def, value); + case "array": + return array(lexicons2, path, def, value); + case "blob": + return blob(lexicons2, path, def, value); + case "image": + return image(lexicons2, path, def, value); + case "video": + return video(lexicons2, path, def, value); + case "audio": + return audio(lexicons2, path, def, value); + default: + return { + success: false, + error: new ValidationError(`Unexpected lexicon type: ${def.type}`) + }; + } +} +function array(lexicons2, path, def, value) { + def = def; + if (!Array.isArray(value)) { + return { + success: false, + error: new ValidationError(`${path} must be an array`) + }; + } + if (typeof def.maxLength === "number") { + if (value.length > def.maxLength) { + return { + success: false, + error: new ValidationError( + `${path} must not have more than ${def.maxLength} elements` + ) + }; + } + } + if (typeof def.minLength === "number") { + if (value.length < def.minLength) { + return { + success: false, + error: new ValidationError( + `${path} must not have fewer than ${def.minLength} elements` + ) + }; + } + } + const itemsDef = def.items; + for (let i = 0; i < value.length; i++) { + const itemValue = value[i]; + const itemPath = `${path}/${i}`; + const res = validateOneOf(lexicons2, itemPath, itemsDef, itemValue); + if (!res.success) { + return res; + } + } + return { success: true }; +} +function object(lexicons2, path, def, value) { + def = def; + if (!value || typeof value !== "object") { + return { + success: false, + error: new ValidationError(`${path} must be an object`) + }; + } + if (Array.isArray(def.required)) { + for (const key of def.required) { + if (!(key in value)) { + return { + success: false, + error: new ValidationError(`${path} must have the property "${key}"`) + }; + } + } + } + if (typeof def.properties === "object") { + for (const key in def.properties) { + const propValue = value[key]; + if (typeof propValue === "undefined") { + continue; + } + const propDef = def.properties[key]; + const propPath = `${path}/${key}`; + const res = validateOneOf(lexicons2, propPath, propDef, propValue); + if (!res.success) { + return res; + } + } + } + return { success: true }; +} + +// ../lexicon/src/util.ts +function toLexUri(str, baseUri) { + if (str.startsWith("lex:")) { + return str; + } + if (str.startsWith("#")) { + if (!baseUri) { + throw new Error(`Unable to resolve uri without anchor: ${str}`); + } + return `${baseUri}${str}`; + } + return `lex:${str}`; +} +function validateOneOf(lexicons2, path, def, value, mustBeObj = false) { + let error; + let concreteDefs; + if (def.type === "union") { + if (!isDiscriminatedObject(value)) { + return { + success: false, + error: new ValidationError( + `${path} must be an object which includes the "$type" property` + ) + }; + } + if (!def.refs.includes(toLexUri(value.$type))) { + if (def.closed) { + return { + success: false, + error: new ValidationError( + `${path} $type must be one of ${def.refs.join(", ")}` + ) + }; + } + return { success: true }; + } else { + concreteDefs = toConcreteTypes(lexicons2, { + type: "ref", + ref: value.$type + }); + } + } else { + concreteDefs = toConcreteTypes(lexicons2, def); + } + for (const concreteDef of concreteDefs) { + const result = mustBeObj ? object(lexicons2, path, concreteDef, value) : validate2(lexicons2, path, concreteDef, value); + if (result.success) { + return result; + } + error ?? (error = result.error); + } + if (concreteDefs.length > 1) { + return { + success: false, + error: new ValidationError( + `${path} did not match any of the expected definitions` + ) + }; + } + return { success: false, error }; +} +function assertValidOneOf(lexicons2, path, def, value, mustBeObj = false) { + const res = validateOneOf(lexicons2, path, def, value, mustBeObj); + if (!res.success) { + throw res.error; + } +} +function toConcreteTypes(lexicons2, def) { + if (def.type === "ref") { + return [lexicons2.getDefOrThrow(def.ref)]; + } else if (def.type === "union") { + return def.refs.map((ref) => lexicons2.getDefOrThrow(ref)).flat(); + } else { + return [def]; + } +} + +// ../lexicon/src/validators/xrpc.ts +function params(lexicons2, path, def, value) { + def = def; + if (!value || typeof value !== "object") { + value = {}; + } + if (Array.isArray(def.required)) { + for (const key of def.required) { + if (!(key in value)) { + return { + success: false, + error: new ValidationError(`${path} must have the property "${key}"`) + }; + } + } + } + for (const key in def.properties) { + if (typeof value[key] === "undefined") { + continue; + } + const paramDef = def.properties[key]; + const res = validate( + lexicons2, + key, + paramDef, + value[key] + ); + if (!res.success) { + return res; + } + } + return { success: true }; } -// ../lexicon/src/record/schema.ts -var import_ajv = __toESM(require_ajv()); -var import_ajv_formats = __toESM(require_dist()); -var ajv = new import_ajv.default(); -(0, import_ajv_formats.default)(ajv); +// ../lexicon/src/validation.ts +function assertValidRecord(lexicons2, def, value) { + const res = object(lexicons2, "Record", def.record, value); + if (!res.success) + throw res.error; +} +function assertValidXrpcParams(lexicons2, def, value) { + if (def.parameters) { + const res = params(lexicons2, "Params", def.parameters, value); + if (!res.success) + throw res.error; + } +} +function assertValidXrpcInput(lexicons2, def, value) { + if (def.input?.schema) { + assertValidOneOf(lexicons2, "Input", def.input.schema, value, true); + } +} +function assertValidXrpcOutput(lexicons2, def, value) { + if (def.output?.schema) { + assertValidOneOf(lexicons2, "Output", def.output.schema, value, true); + } +} -// ../lexicon/src/record/validator.ts -var import_ajv2 = __toESM(require_ajv()); -var import_ajv_formats2 = __toESM(require_dist()); -var ajv2 = new import_ajv2.default(); -(0, import_ajv_formats2.default)(ajv2); +// ../lexicon/src/lexicons.ts +var Lexicons = class { + constructor(docs) { + this.docs = /* @__PURE__ */ new Map(); + this.defs = /* @__PURE__ */ new Map(); + if (docs?.length) { + for (const doc of docs) { + this.add(doc); + } + } + } + add(doc) { + try { + lexiconDoc.parse(doc); + } catch (e) { + if (e instanceof ZodError) { + throw new LexiconDocMalformedError( + `Failed to parse schema definition ${doc.id}`, + doc, + e.issues + ); + } else { + throw e; + } + } + const validatedDoc = doc; + const uri = toLexUri(validatedDoc.id); + if (this.docs.has(uri)) { + throw new Error(`${uri} has already been registered`); + } + resolveRefUris(validatedDoc, uri); + this.docs.set(uri, validatedDoc); + for (const [defUri, def] of iterDefs(validatedDoc)) { + this.defs.set(defUri, def); + } + } + remove(uri) { + uri = toLexUri(uri); + const doc = this.docs.get(uri); + if (!doc) { + throw new Error(`Unable to remove "${uri}": does not exist`); + } + for (const [defUri, _def] of iterDefs(doc)) { + this.defs.delete(defUri); + } + this.docs.delete(uri); + } + get(uri) { + uri = toLexUri(uri); + return this.docs.get(uri); + } + getDef(uri) { + uri = toLexUri(uri); + return this.defs.get(uri); + } + getDefOrThrow(uri, types) { + const def = this.getDef(uri); + if (!def) { + throw new LexiconDefNotFoundError(`Lexicon not found: ${uri}`); + } + if (types && !types.includes(def.type)) { + throw new InvalidLexiconError( + `Not a ${types.join(" or ")} lexicon: ${uri}` + ); + } + return def; + } + assertValidRecord(lexUri, value) { + lexUri = toLexUri(lexUri); + const def = this.getDefOrThrow(lexUri, ["record"]); + if (!isObj(value)) { + throw new ValidationError(`Record must be an object`); + } + if (!hasProp(value, "$type") || typeof value.$type !== "string") { + throw new ValidationError(`Record/$type must be a string`); + } + const $type = value.$type || ""; + if (toLexUri($type) !== lexUri) { + throw new ValidationError( + `Invalid $type: must be ${lexUri}, got ${$type}` + ); + } + assertValidRecord(this, def, value); + } + assertValidXrpcParams(lexUri, value) { + lexUri = toLexUri(lexUri); + const def = this.getDefOrThrow(lexUri, ["query", "procedure"]); + assertValidXrpcParams(this, def, value); + } + assertValidXrpcInput(lexUri, value) { + lexUri = toLexUri(lexUri); + const def = this.getDefOrThrow(lexUri, ["procedure"]); + assertValidXrpcInput(this, def, value); + } + assertValidXrpcOutput(lexUri, value) { + lexUri = toLexUri(lexUri); + const def = this.getDefOrThrow(lexUri, ["query", "procedure"]); + assertValidXrpcOutput(this, def, value); + } +}; +function* iterDefs(doc) { + for (const defId in doc.defs) { + yield [`lex:${doc.id}#${defId}`, doc.defs[defId]]; + if (defId === "main") { + yield [`lex:${doc.id}`, doc.defs[defId]]; + } + } +} +function resolveRefUris(obj, baseUri) { + for (const k in obj) { + if (obj.type === "ref") { + obj.ref = toLexUri(obj.ref, baseUri); + } else if (obj.type === "union") { + obj.refs = obj.refs.map((ref) => toLexUri(ref, baseUri)); + } else if (Array.isArray(obj[k])) { + obj[k] = obj[k].map((item) => { + if (typeof item === "string") { + return item.startsWith("#") ? toLexUri(item, baseUri) : item; + } else if (item && typeof item === "object") { + return resolveRefUris(item, baseUri); + } + return item; + }); + } else if (obj[k] && typeof obj[k] === "object") { + obj[k] = resolveRefUris(obj[k], baseUri); + } + } + return obj; +} // ../xrpc/src/util.ts function getMethodSchemaHTTPMethod(schema) { - if (schema.type === "query") { - return "get"; - } if (schema.type === "procedure") { return "post"; } - throw new Error(`Invalid method type: ${schema.type}`); + return "get"; } -function constructMethodCallUri(schema, serviceUri, params) { +function constructMethodCallUri(nsid, schema, serviceUri, params2) { const uri = new URL(serviceUri); - uri.pathname = `/xrpc/${schema.id}`; - if (params) { - for (const [key, value] of Object.entries(params)) { - const paramSchema = schema.parameters?.properties[key]; + uri.pathname = `/xrpc/${nsid}`; + if (params2) { + for (const [key, value] of Object.entries(params2)) { + const paramSchema = schema.parameters?.properties?.[key]; if (!paramSchema) { throw new Error(`Invalid query parameter: ${key}`); } @@ -10159,7 +4011,7 @@ function constructMethodCallUri(schema, serviceUri, params) { return uri.toString(); } function encodeQueryParam(type, value) { - if (type === "string") { + if (type === "string" || type === "unknown") { return String(value); } if (type === "number") { @@ -10168,6 +4020,11 @@ function encodeQueryParam(type, value) { return String(Number(value) | 0); } else if (type === "boolean") { return value ? "true" : "false"; + } else if (type === "datetime") { + if (value instanceof Date) { + return value.toISOString(); + } + return String(value); } throw new Error(`Unsupported query param type: ${type}`); } @@ -10226,7 +4083,7 @@ function httpResponseBodyParse(mimeType, data) { } catch (e) { throw new XRPCError( 2 /* InvalidResponse */, - `Failed to parse response body: ${e.toString()}` + `Failed to parse response body: ${String(e)}` ); } } @@ -10236,7 +4093,7 @@ function httpResponseBodyParse(mimeType, data) { } catch (e) { throw new XRPCError( 2 /* InvalidResponse */, - `Failed to parse response body: ${e.toString()}` + `Failed to parse response body: ${String(e)}` ); } } @@ -10248,31 +4105,24 @@ function httpResponseBodyParse(mimeType, data) { var Client = class { constructor() { this.fetch = defaultFetchHandler; - this.schemas = /* @__PURE__ */ new Map(); + this.lex = new Lexicons(); } - async call(serviceUri, methodNsid, params, data, opts) { - return this.service(serviceUri).call(methodNsid, params, data, opts); + async call(serviceUri, methodNsid, params2, data, opts) { + return this.service(serviceUri).call(methodNsid, params2, data, opts); } service(serviceUri) { return new ServiceClient(this, serviceUri); } - addSchema(schema) { - if (isValidMethodSchema(schema)) { - this.schemas.set(schema.id, schema); - } else { - methodSchema.parse(schema); - } + addLexicon(doc) { + this.lex.add(doc); } - addSchemas(schemas) { - for (const schema of schemas) { - this.addSchema(schema); + addLexicons(docs) { + for (const doc of docs) { + this.addLexicon(doc); } } - listSchemaIds() { - return Array.from(this.schemas.keys()); - } - removeSchema(nsid) { - this.schemas.delete(nsid); + removeLexicon(uri) { + this.lex.remove(uri); } }; var ServiceClient = class { @@ -10287,14 +4137,16 @@ var ServiceClient = class { unsetHeader(key) { delete this.headers[key]; } - async call(methodNsid, params, data, opts) { - const schema = this.baseClient.schemas.get(methodNsid); - if (!schema) { - throw new Error(`Method schema not found: ${methodNsid}`); + async call(methodNsid, params2, data, opts) { + const def = this.baseClient.lex.getDefOrThrow(methodNsid); + if (!def || def.type !== "query" && def.type !== "procedure") { + throw new Error( + `Invalid lexicon: ${methodNsid}. Must be a query or procedure.` + ); } - const httpMethod = getMethodSchemaHTTPMethod(schema); - const httpUri = constructMethodCallUri(schema, this.uri, params); - const httpHeaders = constructMethodCallHeaders(schema, data, { + const httpMethod = getMethodSchemaHTTPMethod(def); + const httpUri = constructMethodCallUri(methodNsid, def, this.uri, params2); + const httpHeaders = constructMethodCallHeaders(def, data, { headers: { ...this.headers, ...opts?.headers @@ -10333,7 +4185,7 @@ async function defaultFetchHandler(httpUri, httpMethod, httpHeaders, httpReqBody body: httpResponseBodyParse(res.headers.get("content-type"), resBody) }; } catch (e) { - throw new XRPCError(1 /* Unknown */, e.toString()); + throw new XRPCError(1 /* Unknown */, String(e)); } } function isErrorResponseBody(v) { @@ -10343,471 +4195,559 @@ function isErrorResponseBody(v) { // ../xrpc/src/index.ts var defaultInst = new Client(); -// src/client/schemas.ts -var methodSchemaDict = { - "com.atproto.account.create": { +// src/client/lexicons.ts +var lexicons = [ + { lexicon: 1, id: "com.atproto.account.create", - type: "procedure", - description: "Create an account.", - input: { - encoding: "application/json", - schema: { - type: "object", - required: ["handle", "email", "password"], - properties: { - email: { - type: "string" - }, - handle: { - type: "string" - }, - inviteCode: { - type: "string" - }, - password: { - type: "string" - }, - recoveryKey: { - type: "string" + defs: { + main: { + type: "procedure", + description: "Create an account.", + input: { + encoding: "application/json", + schema: { + type: "object", + required: ["handle", "email", "password"], + properties: { + email: { + type: "string" + }, + handle: { + type: "string" + }, + inviteCode: { + type: "string" + }, + password: { + type: "string" + }, + recoveryKey: { + type: "string" + } + } } }, - $defs: {} - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["accessJwt", "refreshJwt", "handle", "did"], - properties: { - accessJwt: { - type: "string" + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["accessJwt", "refreshJwt", "handle", "did"], + properties: { + accessJwt: { + type: "string" + }, + refreshJwt: { + type: "string" + }, + handle: { + type: "string" + }, + did: { + type: "string" + } + } + } + }, + errors: [ + { + name: "InvalidHandle" }, - refreshJwt: { - type: "string" + { + name: "InvalidPassword" }, - handle: { - type: "string" + { + name: "InvalidInviteCode" }, - did: { - type: "string" + { + name: "HandleNotAvailable" } - }, - $defs: {} + ] } - }, - errors: [ - { - name: "InvalidHandle" - }, - { - name: "InvalidPassword" - }, - { - name: "InvalidInviteCode" - }, - { - name: "HandleNotAvailable" - } - ] + } }, - "com.atproto.account.createInviteCode": { + { lexicon: 1, id: "com.atproto.account.createInviteCode", - type: "procedure", - description: "Create an invite code.", - input: { - encoding: "application/json", - schema: { - type: "object", - required: ["useCount"], - properties: { - useCount: { - type: "integer" + defs: { + main: { + type: "procedure", + description: "Create an invite code.", + input: { + encoding: "application/json", + schema: { + type: "object", + required: ["useCount"], + properties: { + useCount: { + type: "integer" + } + } } }, - $defs: {} - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["code"], - properties: { - code: { - type: "string" + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["code"], + properties: { + code: { + type: "string" + } + } } - }, - $defs: {} + } } } }, - "com.atproto.account.delete": { + { lexicon: 1, id: "com.atproto.account.delete", - type: "procedure", - description: "Delete an account.", - input: { - encoding: "", - schema: { - $defs: {} - } - }, - output: { - encoding: "", - schema: { - $defs: {} + defs: { + main: { + type: "procedure", + description: "Delete an account." } } }, - "com.atproto.account.get": { + { lexicon: 1, id: "com.atproto.account.get", - type: "query", - description: "Get information about an account.", - output: { - encoding: "", - schema: { - $defs: {} + defs: { + main: { + type: "query", + description: "Get information about an account." } } }, - "com.atproto.account.requestPasswordReset": { + { lexicon: 1, id: "com.atproto.account.requestPasswordReset", - type: "procedure", - description: "Initiate a user account password reset via email.", - input: { - encoding: "application/json", - schema: { - type: "object", - required: ["email"], - properties: { - email: { - type: "string" + defs: { + main: { + type: "procedure", + description: "Initiate a user account password reset via email.", + input: { + encoding: "application/json", + schema: { + type: "object", + required: ["email"], + properties: { + email: { + type: "string" + } + } } - }, - $defs: {} - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - properties: {}, - $defs: {} + } } } }, - "com.atproto.account.resetPassword": { + { lexicon: 1, id: "com.atproto.account.resetPassword", - type: "procedure", - description: "Reset a user account password using a token.", - input: { - encoding: "application/json", - schema: { - type: "object", - required: ["token", "password"], - properties: { - token: { - type: "string" - }, - password: { - type: "string" + defs: { + main: { + type: "procedure", + description: "Reset a user account password using a token.", + input: { + encoding: "application/json", + schema: { + type: "object", + required: ["token", "password"], + properties: { + token: { + type: "string" + }, + password: { + type: "string" + } + } } }, - $defs: {} - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - properties: {}, - $defs: {} - } - }, - errors: [ - { - name: "ExpiredToken" - }, - { - name: "InvalidToken" + errors: [ + { + name: "ExpiredToken" + }, + { + name: "InvalidToken" + } + ] } - ] + } }, - "com.atproto.handle.resolve": { + { lexicon: 1, id: "com.atproto.handle.resolve", - type: "query", - description: "Provides the DID of a repo.", - parameters: { - type: "object", - properties: { - handle: { - type: "string", - description: "The handle to resolve. If not supplied, will resolve the host's own handle." - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["did"], - properties: { - did: { - type: "string" + defs: { + main: { + type: "query", + description: "Provides the DID of a repo.", + parameters: { + type: "params", + properties: { + handle: { + type: "string", + description: "The handle to resolve. If not supplied, will resolve the host's own handle." + } } }, - $defs: {} + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["did"], + properties: { + did: { + type: "string" + } + } + } + } } } }, - "com.atproto.repo.batchWrite": { + { lexicon: 1, id: "com.atproto.repo.batchWrite", - type: "procedure", - description: "Apply a batch transaction of creates, puts, and deletes.", - input: { - encoding: "application/json", - schema: { - type: "object", - required: ["did", "writes"], - properties: { - did: { - type: "string", - description: "The DID of the repo." - }, - validate: { - type: "boolean", - default: true, - description: "Validate the records?" - }, - writes: { - type: "array", - items: { - oneOf: [ - { - type: "object", - required: ["action", "collection", "value"], - properties: { - action: { - type: "string", - const: "create" - }, - collection: { - type: "string" - }, - rkey: { - type: "string" - }, - value: {} - } - }, - { - type: "object", - required: ["action", "collection", "rkey", "value"], - properties: { - action: { - type: "string", - const: "update" - }, - collection: { - type: "string" - }, - rkey: { - type: "string" - }, - value: {} - } - }, - { - type: "object", - required: ["action", "collection", "rkey"], - properties: { - action: { - type: "string", - const: "delete" - }, - collection: { - type: "string" - }, - rkey: { - type: "string" - } - } + defs: { + main: { + type: "procedure", + description: "Apply a batch transaction of creates, puts, and deletes.", + input: { + encoding: "application/json", + schema: { + type: "object", + required: ["did", "writes"], + properties: { + did: { + type: "string", + description: "The DID of the repo." + }, + validate: { + type: "boolean", + default: true, + description: "Validate the records?" + }, + writes: { + type: "array", + items: { + type: "union", + refs: [ + "lex:com.atproto.repo.batchWrite#create", + "lex:com.atproto.repo.batchWrite#update", + "lex:com.atproto.repo.batchWrite#delete" + ], + closed: true } - ] + } } } - }, - $defs: {} - } - }, - output: { - encoding: "application/json", - schema: { - $defs: {} - } - } - }, - "com.atproto.repo.createRecord": { - lexicon: 1, - id: "com.atproto.repo.createRecord", - type: "procedure", - description: "Create a new record.", - input: { - encoding: "application/json", - schema: { + } + }, + create: { type: "object", - required: ["did", "collection", "record"], + required: ["action", "collection", "value"], properties: { - did: { + action: { type: "string", - description: "The DID of the repo." + const: "create" }, collection: { - type: "string", - description: "The NSID of the record collection." + type: "string" }, - validate: { - type: "boolean", - default: true, - description: "Validate the record?" + rkey: { + type: "string" }, - record: { - type: "object", - description: "The record to create." + value: { + type: "unknown" } - }, - $defs: {} - } - }, - output: { - encoding: "application/json", - schema: { + } + }, + update: { type: "object", - required: ["uri", "cid"], + required: ["action", "collection", "rkey", "value"], properties: { - uri: { + action: { + type: "string", + const: "update" + }, + collection: { type: "string" }, - cid: { + rkey: { type: "string" + }, + value: { + type: "unknown" } - }, - $defs: {} - } - } - }, - "com.atproto.repo.deleteRecord": { - lexicon: 1, - id: "com.atproto.repo.deleteRecord", - type: "procedure", - description: "Delete a record.", - input: { - encoding: "application/json", - schema: { + } + }, + delete: { type: "object", - required: ["did", "collection", "rkey"], + required: ["action", "collection", "rkey"], properties: { - did: { + action: { type: "string", - description: "The DID of the repo." + const: "delete" }, collection: { - type: "string", - description: "The NSID of the record collection." + type: "string" }, rkey: { - type: "string", - description: "The key of the record." + type: "string" + } + } + } + } + }, + { + lexicon: 1, + id: "com.atproto.repo.createRecord", + defs: { + main: { + type: "procedure", + description: "Create a new record.", + input: { + encoding: "application/json", + schema: { + type: "object", + required: ["did", "collection", "record"], + properties: { + did: { + type: "string", + description: "The DID of the repo." + }, + collection: { + type: "string", + description: "The NSID of the record collection." + }, + validate: { + type: "boolean", + default: true, + description: "Validate the record?" + }, + record: { + type: "unknown", + description: "The record to create." + } + } } }, - $defs: {} + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["uri", "cid"], + properties: { + uri: { + type: "string" + }, + cid: { + type: "string" + } + } + } + } } } }, - "com.atproto.repo.describe": { + { lexicon: 1, - id: "com.atproto.repo.describe", - type: "query", - description: "Get information about the repo, including the list of collections.", - parameters: { - type: "object", - required: ["user"], - properties: { - user: { - type: "string", - description: "The handle or DID of the repo." + id: "com.atproto.repo.deleteRecord", + defs: { + main: { + type: "procedure", + description: "Delete a record.", + input: { + encoding: "application/json", + schema: { + type: "object", + required: ["did", "collection", "rkey"], + properties: { + did: { + type: "string", + description: "The DID of the repo." + }, + collection: { + type: "string", + description: "The NSID of the record collection." + }, + rkey: { + type: "string", + description: "The key of the record." + } + } + } } } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["handle", "did", "didDoc", "collections", "handleIsCorrect"], - properties: { - handle: { - type: "string" - }, - did: { - type: "string" - }, - didDoc: { - type: "object" - }, - collections: { - type: "array", - items: { - type: "string" + } + }, + { + lexicon: 1, + id: "com.atproto.repo.describe", + defs: { + main: { + type: "query", + description: "Get information about the repo, including the list of collections.", + parameters: { + type: "params", + required: ["user"], + properties: { + user: { + type: "string", + description: "The handle or DID of the repo." } - }, - handleIsCorrect: { - type: "boolean" } }, - $defs: {} + output: { + encoding: "application/json", + schema: { + type: "object", + required: [ + "handle", + "did", + "didDoc", + "collections", + "handleIsCorrect" + ], + properties: { + handle: { + type: "string" + }, + did: { + type: "string" + }, + didDoc: { + type: "unknown" + }, + collections: { + type: "array", + items: { + type: "string" + } + }, + handleIsCorrect: { + type: "boolean" + } + } + } + } } } }, - "com.atproto.repo.getRecord": { + { lexicon: 1, id: "com.atproto.repo.getRecord", - type: "query", - description: "Fetch a record.", - parameters: { - type: "object", - required: ["user", "collection", "rkey"], - properties: { - user: { - type: "string", - description: "The handle or DID of the repo." - }, - collection: { - type: "string", - description: "The NSID of the collection." - }, - rkey: { - type: "string", - description: "The key of the record." + defs: { + main: { + type: "query", + description: "Fetch a record.", + parameters: { + type: "params", + required: ["user", "collection", "rkey"], + properties: { + user: { + type: "string", + description: "The handle or DID of the repo." + }, + collection: { + type: "string", + description: "The NSID of the collection." + }, + rkey: { + type: "string", + description: "The key of the record." + }, + cid: { + type: "string", + description: "The CID of the version of the record. If not specified, then return the most recent version." + } + } }, - cid: { - type: "string", - description: "The CID of the version of the record. If not specified, then return the most recent version." + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["uri", "value"], + properties: { + uri: { + type: "string" + }, + cid: { + type: "string" + }, + value: { + type: "unknown" + } + } + } } } - }, - output: { - encoding: "application/json", - schema: { + } + }, + { + lexicon: 1, + id: "com.atproto.repo.listRecords", + defs: { + main: { + type: "query", + description: "List a range of records in a collection.", + parameters: { + type: "params", + required: ["user", "collection"], + properties: { + user: { + type: "string", + description: "The handle or DID of the repo." + }, + collection: { + type: "string", + description: "The NSID of the record type." + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50, + description: "The number of records to return." + }, + before: { + type: "string", + description: "A TID to filter the range of records returned." + }, + after: { + type: "string", + description: "A TID to filter the range of records returned." + }, + reverse: { + type: "boolean", + description: "Reverse the order of the returned records?" + } + } + }, + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["records"], + properties: { + cursor: { + type: "string" + }, + records: { + type: "array", + items: { + type: "ref", + ref: "lex:com.atproto.repo.listRecords#record" + } + } + } + } + } + }, + record: { type: "object", - required: ["uri", "value"], + required: ["uri", "cid", "value"], properties: { uri: { type: "string" @@ -10816,121 +4756,73 @@ var methodSchemaDict = { type: "string" }, value: { - type: "object" + type: "unknown" } - }, - $defs: {} + } } } }, - "com.atproto.repo.listRecords": { + { lexicon: 1, - id: "com.atproto.repo.listRecords", - type: "query", - description: "List a range of records in a collection.", - parameters: { - type: "object", - required: ["user", "collection"], - properties: { - user: { - type: "string", - description: "The handle or DID of the repo." - }, - collection: { - type: "string", - description: "The NSID of the record type." - }, - limit: { - type: "integer", - minimum: 1, - default: 50, - description: "The number of records to return. TODO-max number?" - }, - before: { - type: "string", - description: "A TID to filter the range of records returned." - }, - after: { - type: "string", - description: "A TID to filter the range of records returned." - }, - reverse: { - type: "boolean", - description: "Reverse the order of the returned records?" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["records"], - properties: { - cursor: { - type: "string" - }, - records: { - type: "array", - items: { - type: "object", - required: ["uri", "cid", "value"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - }, - value: { - type: "object" - } + id: "com.atproto.repo.putRecord", + defs: { + main: { + type: "procedure", + description: "Write a record.", + input: { + encoding: "application/json", + schema: { + type: "object", + required: ["did", "collection", "rkey", "record"], + properties: { + did: { + type: "string", + description: "The DID of the repo." + }, + collection: { + type: "string", + description: "The NSID of the record type." + }, + rkey: { + type: "string", + description: "The TID of the record." + }, + validate: { + type: "boolean", + default: true, + description: "Validate the record?" + }, + record: { + type: "unknown", + description: "The record to create." } } } }, - $defs: {} + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["uri", "cid"], + properties: { + uri: { + type: "string" + }, + cid: { + type: "string" + } + } + } + } } } }, - "com.atproto.repo.putRecord": { + { lexicon: 1, - id: "com.atproto.repo.putRecord", - type: "procedure", - description: "Write a record.", - input: { - encoding: "application/json", - schema: { - type: "object", - required: ["did", "collection", "rkey", "record"], - properties: { - did: { - type: "string", - description: "The DID of the repo." - }, - collection: { - type: "string", - description: "The NSID of the record type." - }, - rkey: { - type: "string", - description: "The TID of the record." - }, - validate: { - type: "boolean", - default: true, - description: "Validate the record?" - }, - record: { - type: "object", - description: "The record to create." - } - }, - $defs: {} - } - }, - output: { - encoding: "application/json", - schema: { + id: "com.atproto.repo.strongRef", + description: "A URI with a content-hash fingerprint.", + defs: { + main: { type: "object", required: ["uri", "cid"], properties: { @@ -10940,1086 +4832,832 @@ var methodSchemaDict = { cid: { type: "string" } - }, - $defs: {} + } } } }, - "com.atproto.server.getAccountsConfig": { + { lexicon: 1, id: "com.atproto.server.getAccountsConfig", - type: "query", - description: "Get a document describing the service's accounts configuration.", - output: { - encoding: "application/json", - schema: { + defs: { + main: { + type: "query", + description: "Get a document describing the service's accounts configuration.", + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["availableUserDomains"], + properties: { + inviteCodeRequired: { + type: "boolean" + }, + availableUserDomains: { + type: "array", + items: { + type: "string" + } + }, + links: { + type: "ref", + ref: "lex:com.atproto.server.getAccountsConfig#links" + } + } + } + } + }, + links: { type: "object", - required: ["availableUserDomains"], properties: { - inviteCodeRequired: { - type: "boolean" + privacyPolicy: { + type: "string" }, - availableUserDomains: { - type: "array", - items: { - type: "string" - } + termsOfService: { + type: "string" } - }, - $defs: {} + } } } }, - "com.atproto.session.create": { + { lexicon: 1, id: "com.atproto.session.create", - type: "procedure", - description: "Create an authentication session.", - input: { - encoding: "application/json", - schema: { - type: "object", - required: ["handle", "password"], - properties: { - handle: { - type: "string" - }, - password: { - type: "string" + defs: { + main: { + type: "procedure", + description: "Create an authentication session.", + input: { + encoding: "application/json", + schema: { + type: "object", + required: ["handle", "password"], + properties: { + handle: { + type: "string" + }, + password: { + type: "string" + } + } } }, - $defs: {} - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["accessJwt", "refreshJwt", "handle", "did"], - properties: { - accessJwt: { - type: "string" - }, - refreshJwt: { - type: "string" - }, - handle: { - type: "string" - }, - did: { - type: "string" + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["accessJwt", "refreshJwt", "handle", "did"], + properties: { + accessJwt: { + type: "string" + }, + refreshJwt: { + type: "string" + }, + handle: { + type: "string" + }, + did: { + type: "string" + } + } } - }, - $defs: {} + } } } }, - "com.atproto.session.delete": { + { lexicon: 1, id: "com.atproto.session.delete", - type: "procedure", - description: "Delete the current session.", - output: { - encoding: "application/json", - schema: { - $defs: {} + defs: { + main: { + type: "procedure", + description: "Delete the current session." } } }, - "com.atproto.session.get": { + { lexicon: 1, id: "com.atproto.session.get", - type: "query", - description: "Get information about the current session.", - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["handle", "did"], - properties: { - handle: { - type: "string" - }, - did: { - type: "string" + defs: { + main: { + type: "query", + description: "Get information about the current session.", + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["handle", "did"], + properties: { + handle: { + type: "string" + }, + did: { + type: "string" + } + } } - }, - $defs: {} + } } } }, - "com.atproto.session.refresh": { + { lexicon: 1, id: "com.atproto.session.refresh", - type: "procedure", - description: "Refresh an authentication session.", - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["accessJwt", "refreshJwt", "handle", "did"], - properties: { - accessJwt: { - type: "string" - }, - refreshJwt: { - type: "string" - }, - handle: { - type: "string" - }, - did: { - type: "string" + defs: { + main: { + type: "procedure", + description: "Refresh an authentication session.", + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["accessJwt", "refreshJwt", "handle", "did"], + properties: { + accessJwt: { + type: "string" + }, + refreshJwt: { + type: "string" + }, + handle: { + type: "string" + }, + did: { + type: "string" + } + } } - }, - $defs: {} + } } } }, - "com.atproto.sync.getRepo": { + { lexicon: 1, id: "com.atproto.sync.getRepo", - type: "query", - description: "Gets the repo state.", - parameters: { - type: "object", - required: ["did"], - properties: { - did: { - type: "string", - description: "The DID of the repo." + defs: { + main: { + type: "query", + description: "Gets the repo state.", + parameters: { + type: "params", + required: ["did"], + properties: { + did: { + type: "string", + description: "The DID of the repo." + }, + from: { + type: "string", + description: "A past commit CID." + } + } }, - from: { - type: "string", - description: "A past commit CID." + output: { + encoding: "application/cbor" } } - }, - output: { - encoding: "application/cbor" } }, - "com.atproto.sync.getRoot": { + { lexicon: 1, id: "com.atproto.sync.getRoot", - type: "query", - description: "Gets the current root CID of a repo.", - parameters: { - type: "object", - required: ["did"], - properties: { - did: { - type: "string", - description: "The DID of the repo." - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["root"], - properties: { - root: { - type: "string" + defs: { + main: { + type: "query", + description: "Gets the current root CID of a repo.", + parameters: { + type: "params", + required: ["did"], + properties: { + did: { + type: "string", + description: "The DID of the repo." + } } }, - $defs: {} + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["root"], + properties: { + root: { + type: "string" + } + } + } + } } } }, - "com.atproto.sync.updateRepo": { + { lexicon: 1, id: "com.atproto.sync.updateRepo", - type: "procedure", - description: "Writes commits to a repo.", - parameters: { - type: "object", - required: ["did"], - properties: { - did: { - type: "string", - description: "The DID of the repo." + defs: { + main: { + type: "procedure", + description: "Writes commits to a repo.", + parameters: { + type: "params", + required: ["did"], + properties: { + did: { + type: "string", + description: "The DID of the repo." + } + } + }, + input: { + encoding: "application/cbor" } } - }, - input: { - encoding: "application/cbor" } }, - "app.bsky.actor.createScene": { + { lexicon: 1, id: "app.bsky.actor.createScene", - type: "procedure", - description: "Create a scene.", - input: { - encoding: "application/json", - schema: { - type: "object", - required: ["handle"], - properties: { - handle: { - type: "string" - }, - recoveryKey: { - type: "string" + defs: { + main: { + type: "procedure", + description: "Create a scene.", + input: { + encoding: "application/json", + schema: { + type: "object", + required: ["handle"], + properties: { + handle: { + type: "string" + }, + recoveryKey: { + type: "string" + } + } } }, - $defs: {} - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["handle", "did", "declaration"], - properties: { - handle: { - type: "string" - }, - did: { - type: "string" + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["handle", "did", "declaration"], + properties: { + handle: { + type: "string" + }, + did: { + type: "string" + }, + declaration: { + type: "ref", + ref: "lex:app.bsky.system.declRef" + } + } + } + }, + errors: [ + { + name: "InvalidHandle" }, - declaration: { - $ref: "#/$defs/declaration" + { + name: "HandleNotAvailable" + } + ] + } + } + }, + { + lexicon: 1, + id: "app.bsky.actor.getProfile", + defs: { + main: { + type: "query", + parameters: { + type: "params", + required: ["actor"], + properties: { + actor: { + type: "string" + } } }, - $defs: { - declaration: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["cid", "actorType"], + required: [ + "did", + "declaration", + "handle", + "creator", + "followersCount", + "followsCount", + "membersCount", + "postsCount" + ], properties: { - cid: { + did: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + declaration: { + type: "ref", + ref: "lex:app.bsky.system.declRef" + }, + handle: { + type: "string" + }, + creator: { + type: "string" + }, + displayName: { + type: "string", + maxLength: 64 + }, + description: { + type: "string", + maxLength: 256 + }, + followersCount: { + type: "integer" + }, + followsCount: { + type: "integer" + }, + membersCount: { + type: "integer" + }, + postsCount: { + type: "integer" + }, + myState: { + type: "ref", + ref: "lex:app.bsky.actor.getProfile#myState" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } - } - }, - errors: [ - { - name: "InvalidHandle" }, - { - name: "HandleNotAvailable" - } - ], - defs: { - declaration: { + myState: { type: "object", - required: ["cid", "actorType"], properties: { - cid: { + follow: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + member: { + type: "string" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.actor.getProfile": { + { lexicon: 1, - id: "app.bsky.actor.getProfile", - type: "query", - parameters: { - type: "object", - required: ["actor"], - properties: { - actor: { - type: "string" + id: "app.bsky.actor.getSuggestions", + defs: { + main: { + type: "query", + description: "Get a list of actors suggested for following. Used in discovery UIs.", + parameters: { + type: "params", + properties: { + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + cursor: { + type: "string" + } + } + }, + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["actors"], + properties: { + cursor: { + type: "string" + }, + actors: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.actor.getSuggestions#actor" + } + } + } + } } - } - }, - output: { - encoding: "application/json", - schema: { + }, + actor: { type: "object", - required: [ - "did", - "declaration", - "handle", - "creator", - "followersCount", - "followsCount", - "membersCount", - "postsCount" - ], + required: ["did", "declaration", "handle"], properties: { did: { type: "string" }, declaration: { - $ref: "#/$defs/declaration" + type: "ref", + ref: "lex:app.bsky.system.declRef" }, handle: { type: "string" }, - creator: { - type: "string" - }, displayName: { type: "string", maxLength: 64 }, description: { - type: "string", - maxLength: 256 - }, - followersCount: { - type: "integer" - }, - followsCount: { - type: "integer" - }, - membersCount: { - type: "integer" + type: "string" }, - postsCount: { - type: "integer" + indexedAt: { + type: "datetime" }, myState: { - type: "object", - properties: { - follow: { - type: "string" - }, - member: { - type: "string" - } - } + type: "ref", + ref: "lex:app.bsky.actor.getSuggestions#myState" } - }, - $defs: { - declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] - } - } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] + } + }, + myState: { + type: "object", + properties: { + follow: { + type: "string" + } + } + } + } + }, + { + lexicon: 1, + id: "app.bsky.actor.profile", + defs: { + main: { + type: "record", + key: "literal:self", + record: { + type: "object", + required: ["displayName"], + properties: { + displayName: { + type: "string", + maxLength: 64 + }, + description: { + type: "string", + maxLength: 256 } } } } - }, + } + }, + { + lexicon: 1, + id: "app.bsky.actor.ref", + description: "A reference to an actor in the network.", defs: { - declaration: { + main: { type: "object", - required: ["cid", "actorType"], + required: ["did", "declarationCid"], properties: { - cid: { + did: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + declarationCid: { + type: "string" } } }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] + withInfo: { + type: "object", + required: ["did", "declaration", "handle"], + properties: { + did: { + type: "string" + }, + declaration: { + type: "ref", + ref: "lex:app.bsky.system.declRef" + }, + handle: { + type: "string" + }, + displayName: { + type: "string", + maxLength: 64 + } } } } }, - "app.bsky.actor.getSuggestions": { + { lexicon: 1, - id: "app.bsky.actor.getSuggestions", - type: "query", - description: "Get a list of actors suggested for following. Used in discovery UIs.", - parameters: { - type: "object", - properties: { - limit: { - type: "integer", - maximum: 100 - }, - cursor: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["actors"], - properties: { - cursor: { - type: "string" - }, - actors: { - type: "array", - items: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - }, - description: { - type: "string" - }, - indexedAt: { - type: "string", - format: "date-time" - }, - myState: { - type: "object", - properties: { - follow: { - type: "string" - } - } - } - } + id: "app.bsky.actor.search", + defs: { + main: { + type: "query", + description: "Find users matching search criteria.", + parameters: { + type: "params", + required: ["term"], + properties: { + term: { + type: "string" + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + before: { + type: "string" } } }, - $defs: { - declaration: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["cid", "actorType"], + required: ["users"], properties: { - cid: { + cursor: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + users: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.actor.search#user" + } } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } - } - }, - defs: { - declaration: { + }, + user: { type: "object", - required: ["cid", "actorType"], + required: ["did", "declaration", "handle"], properties: { - cid: { + did: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + declaration: { + type: "ref", + ref: "lex:app.bsky.system.declRef" + }, + handle: { + type: "string" + }, + displayName: { + type: "string", + maxLength: 64 + }, + description: { + type: "string" + }, + indexedAt: { + type: "datetime" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.actor.search": { + { lexicon: 1, - id: "app.bsky.actor.search", - type: "query", - description: "Find users matching search criteria.", - parameters: { - type: "object", - required: ["term"], - properties: { - term: { - type: "string" - }, - limit: { - type: "integer", - maximum: 100 - }, - before: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["users"], - properties: { - cursor: { - type: "string" - }, - users: { - type: "array", - items: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - }, - description: { - type: "string" - }, - indexedAt: { - type: "string", - format: "date-time" - } - } + id: "app.bsky.actor.searchTypeahead", + defs: { + main: { + type: "query", + description: "Find user suggestions for a search term.", + parameters: { + type: "params", + required: ["term"], + properties: { + term: { + type: "string" + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 } } }, - $defs: { - declaration: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["cid", "actorType"], + required: ["users"], properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + users: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.actor.searchTypeahead#user" + } } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } - } - }, - defs: { - declaration: { + }, + user: { type: "object", - required: ["cid", "actorType"], + required: ["did", "declaration", "handle"], properties: { - cid: { + did: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + declaration: { + type: "ref", + ref: "lex:app.bsky.system.declRef" + }, + handle: { + type: "string" + }, + displayName: { + type: "string", + maxLength: 64 } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.actor.searchTypeahead": { + { lexicon: 1, - id: "app.bsky.actor.searchTypeahead", - type: "query", - description: "Find user suggestions for a search term.", - parameters: { - type: "object", - required: ["term"], - properties: { - term: { - type: "string" - }, - limit: { - type: "integer", - maximum: 100 - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["users"], - properties: { - users: { - type: "array", - items: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - } + id: "app.bsky.actor.updateProfile", + defs: { + main: { + type: "procedure", + description: "Notify server that the user has seen notifications.", + input: { + encoding: "application/json", + schema: { + type: "object", + properties: { + did: { + type: "string" + }, + displayName: { + type: "string", + maxLength: 64 + }, + description: { + type: "string", + maxLength: 256 } } } }, - $defs: { - declaration: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["cid", "actorType"], + required: ["uri", "cid", "record"], properties: { + uri: { + type: "string" + }, cid: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + record: { + type: "unknown" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } } - }, + } + }, + { + lexicon: 1, + id: "app.bsky.feed.embed", + description: "Content embedded in other content, such as an image or link embedded in a post.", defs: { - declaration: { + main: { type: "object", - required: ["cid", "actorType"], + description: "A list embeds in a post or document.", + required: ["media"], properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + items: { + type: "array", + items: { + type: "union", + refs: [ + "lex:app.bsky.feed.embed#media", + "lex:app.bsky.feed.embed#record", + "lex:app.bsky.feed.embed#external" + ] + } } } }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } - } - } - }, - "app.bsky.actor.updateProfile": { - lexicon: 1, - id: "app.bsky.actor.updateProfile", - type: "procedure", - description: "Notify server that the user has seen notifications.", - input: { - encoding: "application/json", - schema: { + media: { type: "object", + required: ["original"], properties: { - did: { + alt: { type: "string" }, - displayName: { - type: "string", - maxLength: 64 + thumb: { + type: "image" }, - description: { + original: { + type: "blob" + } + } + }, + record: { + type: "object", + required: ["type", "author", "record"], + properties: { + type: { type: "string", - maxLength: 256 + const: "record" + }, + author: { + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" + }, + record: { + type: "unknown" } - }, - $defs: {} - } - }, - output: { - encoding: "application/json", - schema: { + } + }, + external: { type: "object", - required: ["uri", "cid", "record"], + required: ["type", "uri", "title", "description", "imageUri"], properties: { + type: { + type: "string", + const: "external" + }, uri: { type: "string" }, - cid: { + title: { type: "string" }, - record: { - type: "object" + description: { + type: "string" + }, + imageUri: { + type: "string" } - }, - $defs: {} + } } } }, - "app.bsky.feed.getAuthorFeed": { + { lexicon: 1, id: "app.bsky.feed.getAuthorFeed", - type: "query", - description: "A view of a user's feed.", - parameters: { - type: "object", - required: ["author"], - properties: { - author: { - type: "string" - }, - limit: { - type: "integer", - maximum: 100 - }, - before: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["feed"], - properties: { - cursor: { - type: "string" - }, - feed: { - type: "array", - items: { - $ref: "#/$defs/feedItem" + defs: { + main: { + type: "query", + description: "A view of a user's feed.", + parameters: { + type: "params", + required: ["author"], + properties: { + author: { + type: "string" + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + before: { + type: "string" } } }, - $defs: { - feedItem: { - type: "object", - required: [ - "uri", - "cid", - "author", - "record", - "replyCount", - "repostCount", - "upvoteCount", - "downvoteCount", - "indexedAt" - ], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - }, - author: { - $ref: "#/$defs/actor" - }, - trendedBy: { - $ref: "#/$defs/actor" - }, - repostedBy: { - $ref: "#/$defs/actor" - }, - record: { - type: "object" - }, - embed: { - oneOf: [ - { - $ref: "#/$defs/recordEmbed" - }, - { - $ref: "#/$defs/externalEmbed" - }, - { - $ref: "#/$defs/unknownEmbed" - } - ] - }, - replyCount: { - type: "integer" - }, - repostCount: { - type: "integer" - }, - upvoteCount: { - type: "integer" - }, - downvoteCount: { - type: "integer" - }, - indexedAt: { - type: "string", - format: "date-time" - }, - myState: { - type: "object", - properties: { - repost: { - type: "string" - }, - upvote: { - type: "string" - }, - downvote: { - type: "string" - } - } - } - } - }, - actor: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - } - } - }, - declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] - } - } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } - }, - recordEmbed: { - type: "object", - required: ["type", "author", "record"], - properties: { - type: { - const: "record" - }, - author: { - $ref: "#/$defs/actor" - }, - record: { - type: "object" - } - } - }, - externalEmbed: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["type", "uri", "title", "description", "imageUri"], + required: ["feed"], properties: { - type: { - const: "external" - }, - uri: { - type: "string" - }, - title: { + cursor: { type: "string" }, - description: { - type: "string" - }, - imageUri: { - type: "string" - } - } - }, - unknownEmbed: { - type: "object", - required: ["type"], - properties: { - type: { - type: "string", - not: { - enum: ["record", "external"] + feed: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.feed.getAuthorFeed#feedItem" } } } } } - } - }, - defs: { + }, feedItem: { type: "object", required: [ @@ -12041,29 +5679,23 @@ var methodSchemaDict = { type: "string" }, author: { - $ref: "#/$defs/actor" + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" }, trendedBy: { - $ref: "#/$defs/actor" + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" }, repostedBy: { - $ref: "#/$defs/actor" + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" }, record: { - type: "object" + type: "unknown" }, embed: { - oneOf: [ - { - $ref: "#/$defs/recordEmbed" - }, - { - $ref: "#/$defs/externalEmbed" - }, - { - $ref: "#/$defs/unknownEmbed" - } - ] + type: "ref", + ref: "lex:app.bsky.feed.embed" }, replyCount: { type: "integer" @@ -12078,330 +5710,70 @@ var methodSchemaDict = { type: "integer" }, indexedAt: { - type: "string", - format: "date-time" + type: "datetime" }, myState: { - type: "object", - properties: { - repost: { - type: "string" - }, - upvote: { - type: "string" - }, - downvote: { - type: "string" - } - } - } - } - }, - actor: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - } - } - }, - recordEmbed: { - type: "object", - required: ["type", "author", "record"], - properties: { - type: { - const: "record" - }, - author: { - $ref: "#/$defs/actor" - }, - record: { - type: "object" + type: "ref", + ref: "lex:app.bsky.feed.getAuthorFeed#myState" } } }, - externalEmbed: { + myState: { type: "object", - required: ["type", "uri", "title", "description", "imageUri"], properties: { - type: { - const: "external" - }, - uri: { - type: "string" - }, - title: { + repost: { type: "string" }, - description: { + upvote: { type: "string" }, - imageUri: { - type: "string" - } - } - }, - unknownEmbed: { - type: "object", - required: ["type"], - properties: { - type: { - type: "string", - not: { - enum: ["record", "external"] - } - } - } - }, - declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { - cid: { + downvote: { type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.feed.getPostThread": { + { lexicon: 1, id: "app.bsky.feed.getPostThread", - type: "query", - parameters: { - type: "object", - required: ["uri"], - properties: { - uri: { - type: "string" - }, - depth: { - type: "integer" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["thread"], - properties: { - thread: { - $ref: "#/$defs/post" + defs: { + main: { + type: "query", + parameters: { + type: "params", + required: ["uri"], + properties: { + uri: { + type: "string" + }, + depth: { + type: "integer" + } } }, - $defs: { - post: { - type: "object", - required: [ - "uri", - "cid", - "author", - "record", - "replyCount", - "repostCount", - "upvoteCount", - "downvoteCount", - "indexedAt" - ], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - }, - author: { - $ref: "#/$defs/user" - }, - record: { - type: "object" - }, - embed: { - oneOf: [ - { - $ref: "#/$defs/recordEmbed" - }, - { - $ref: "#/$defs/externalEmbed" - }, - { - $ref: "#/$defs/unknownEmbed" - } - ] - }, - parent: { - $ref: "#/$defs/post" - }, - replyCount: { - type: "integer" - }, - replies: { - type: "array", - items: { - $ref: "#/$defs/post" - } - }, - repostCount: { - type: "integer" - }, - upvoteCount: { - type: "integer" - }, - downvoteCount: { - type: "integer" - }, - indexedAt: { - type: "string", - format: "date-time" - }, - myState: { - type: "object", - properties: { - repost: { - type: "string" - }, - upvote: { - type: "string" - }, - downvote: { - type: "string" - } - } - } - } - }, - user: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["did", "declaration", "handle"], + required: ["thread"], properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - } - } - }, - declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } + thread: { + type: "union", + refs: [ + "lex:app.bsky.feed.getPostThread#post", + "lex:app.bsky.feed.getPostThread#notFoundPost" ] } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } - }, - recordEmbed: { - type: "object", - required: ["type", "author", "record"], - properties: { - type: { - const: "record" - }, - author: { - $ref: "#/$defs/user" - }, - record: { - type: "object" - } - } - }, - externalEmbed: { - type: "object", - required: ["type", "uri", "title", "description", "imageUri"], - properties: { - type: { - const: "external" - }, - uri: { - type: "string" - }, - title: { - type: "string" - }, - description: { - type: "string" - }, - imageUri: { - type: "string" - } - } - }, - unknownEmbed: { - type: "object", - required: ["type"], - properties: { - type: { - type: "string", - not: { - enum: ["record", "external"] - } - } - } } - } - } - }, - defs: { + }, + errors: [ + { + name: "NotFound" + } + ] + }, post: { type: "object", required: [ @@ -12423,26 +5795,22 @@ var methodSchemaDict = { type: "string" }, author: { - $ref: "#/$defs/user" + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" }, record: { - type: "object" + type: "unknown" }, embed: { - oneOf: [ - { - $ref: "#/$defs/recordEmbed" - }, - { - $ref: "#/$defs/externalEmbed" - }, - { - $ref: "#/$defs/unknownEmbed" - } - ] + type: "ref", + ref: "lex:app.bsky.feed.embed" }, parent: { - $ref: "#/$defs/post" + type: "union", + refs: [ + "lex:app.bsky.feed.getPostThread#post", + "lex:app.bsky.feed.getPostThread#notFoundPost" + ] }, replyCount: { type: "integer" @@ -12450,7 +5818,11 @@ var methodSchemaDict = { replies: { type: "array", items: { - $ref: "#/$defs/post" + type: "union", + refs: [ + "lex:app.bsky.feed.getPostThread#post", + "lex:app.bsky.feed.getPostThread#notFoundPost" + ] } }, repostCount: { @@ -12463,479 +5835,168 @@ var methodSchemaDict = { type: "integer" }, indexedAt: { - type: "string", - format: "date-time" + type: "datetime" }, myState: { - type: "object", - properties: { - repost: { - type: "string" - }, - upvote: { - type: "string" - }, - downvote: { - type: "string" - } - } + type: "ref", + ref: "lex:app.bsky.feed.getPostThread#myState" } } }, - user: { + notFoundPost: { type: "object", - required: ["did", "declaration", "handle"], + required: ["uri", "notFound"], properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { + uri: { type: "string" }, - displayName: { - type: "string", - maxLength: 64 - } - } - }, - recordEmbed: { - type: "object", - required: ["type", "author", "record"], - properties: { - type: { - const: "record" - }, - author: { - $ref: "#/$defs/user" - }, - record: { - type: "object" + notFound: { + type: "boolean", + const: true } } }, - externalEmbed: { + myState: { type: "object", - required: ["type", "uri", "title", "description", "imageUri"], properties: { - type: { - const: "external" - }, - uri: { - type: "string" - }, - title: { + repost: { type: "string" }, - description: { + upvote: { type: "string" }, - imageUri: { + downvote: { type: "string" } } - }, - unknownEmbed: { - type: "object", - required: ["type"], - properties: { - type: { - type: "string", - not: { - enum: ["record", "external"] - } - } - } - }, - declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] - } - } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } - }, - errors: [ - { - name: "NotFound" - } - ] + } }, - "app.bsky.feed.getRepostedBy": { + { lexicon: 1, id: "app.bsky.feed.getRepostedBy", - type: "query", - parameters: { - type: "object", - required: ["uri"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - }, - limit: { - type: "integer", - maximum: 100 - }, - before: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["uri", "repostedBy"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - }, - cursor: { - type: "string" - }, - repostedBy: { - type: "array", - items: { - type: "object", - required: ["did", "declaration", "handle", "indexedAt"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - }, - createdAt: { - type: "string", - format: "date-time" - }, - indexedAt: { - type: "string", - format: "date-time" - } - } + defs: { + main: { + type: "query", + parameters: { + type: "params", + required: ["uri"], + properties: { + uri: { + type: "string" + }, + cid: { + type: "string" + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + before: { + type: "string" } } }, - $defs: { - declaration: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["cid", "actorType"], + required: ["uri", "repostedBy"], properties: { + uri: { + type: "string" + }, cid: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + cursor: { + type: "string" + }, + repostedBy: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.feed.getRepostedBy#repostedBy" + } } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } - } - }, - defs: { - declaration: { + }, + repostedBy: { type: "object", - required: ["cid", "actorType"], + required: ["did", "declaration", "handle", "indexedAt"], properties: { - cid: { + did: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + declaration: { + type: "ref", + ref: "lex:app.bsky.system.declRef" + }, + handle: { + type: "string" + }, + displayName: { + type: "string", + maxLength: 64 + }, + createdAt: { + type: "datetime" + }, + indexedAt: { + type: "datetime" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.feed.getTimeline": { + { lexicon: 1, id: "app.bsky.feed.getTimeline", - type: "query", - description: "A view of the user's home timeline.", - parameters: { - type: "object", - properties: { - algorithm: { - type: "string" - }, - limit: { - type: "integer", - maximum: 100 - }, - before: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["feed"], - properties: { - cursor: { - type: "string" - }, - feed: { - type: "array", - items: { - $ref: "#/$defs/feedItem" + defs: { + main: { + type: "query", + description: "A view of the user's home timeline.", + parameters: { + type: "params", + properties: { + algorithm: { + type: "string" + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + before: { + type: "string" } } }, - $defs: { - feedItem: { + output: { + encoding: "application/json", + schema: { type: "object", - required: [ - "uri", - "cid", - "author", - "record", - "replyCount", - "repostCount", - "upvoteCount", - "downvoteCount", - "indexedAt" - ], + required: ["feed"], properties: { - uri: { + cursor: { type: "string" }, - cid: { - type: "string" - }, - author: { - $ref: "#/$defs/actor" - }, - trendedBy: { - $ref: "#/$defs/actor" - }, - repostedBy: { - $ref: "#/$defs/actor" - }, - record: { - type: "object" - }, - embed: { - oneOf: [ - { - $ref: "#/$defs/recordEmbed" - }, - { - $ref: "#/$defs/externalEmbed" - }, - { - $ref: "#/$defs/unknownEmbed" - } - ] - }, - replyCount: { - type: "integer" - }, - repostCount: { - type: "integer" - }, - upvoteCount: { - type: "integer" - }, - downvoteCount: { - type: "integer" - }, - indexedAt: { - type: "string", - format: "date-time" - }, - myState: { - type: "object", - properties: { - repost: { - type: "string" - }, - upvote: { - type: "string" - }, - downvote: { - type: "string" - } - } - } - } - }, - actor: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - actorType: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - } - } - }, - declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] - } - } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } - }, - recordEmbed: { - type: "object", - required: ["type", "author", "record"], - properties: { - type: { - const: "record" - }, - author: { - $ref: "#/$defs/actor" - }, - record: { - type: "object" - } - } - }, - externalEmbed: { - type: "object", - required: ["type", "uri", "title", "description", "imageUri"], - properties: { - type: { - const: "external" - }, - uri: { - type: "string" - }, - title: { - type: "string" - }, - description: { - type: "string" - }, - imageUri: { - type: "string" - } - } - }, - unknownEmbed: { - type: "object", - required: ["type"], - properties: { - type: { - type: "string", - not: { - enum: ["record", "external"] + feed: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.feed.getTimeline#feedItem" } } } } } - } - }, - defs: { + }, feedItem: { type: "object", required: [ @@ -12957,29 +6018,23 @@ var methodSchemaDict = { type: "string" }, author: { - $ref: "#/$defs/actor" + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" }, trendedBy: { - $ref: "#/$defs/actor" + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" }, repostedBy: { - $ref: "#/$defs/actor" + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" }, record: { - type: "object" + type: "unknown" }, embed: { - oneOf: [ - { - $ref: "#/$defs/recordEmbed" - }, - { - $ref: "#/$defs/externalEmbed" - }, - { - $ref: "#/$defs/unknownEmbed" - } - ] + type: "ref", + ref: "lex:app.bsky.feed.embed" }, replyCount: { type: "integer" @@ -12994,519 +6049,463 @@ var methodSchemaDict = { type: "integer" }, indexedAt: { - type: "string", - format: "date-time" + type: "datetime" }, myState: { + type: "ref", + ref: "lex:app.bsky.feed.getTimeline#myState" + } + } + }, + myState: { + type: "object", + properties: { + repost: { + type: "string" + }, + upvote: { + type: "string" + }, + downvote: { + type: "string" + } + } + } + } + }, + { + lexicon: 1, + id: "app.bsky.feed.getVotes", + defs: { + main: { + type: "query", + parameters: { + type: "params", + required: ["uri"], + properties: { + uri: { + type: "string" + }, + cid: { + type: "string" + }, + direction: { + type: "string", + enum: ["up", "down"] + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + before: { + type: "string" + } + } + }, + output: { + encoding: "application/json", + schema: { type: "object", + required: ["uri", "votes"], properties: { - repost: { + uri: { type: "string" }, - upvote: { + cid: { type: "string" }, - downvote: { + cursor: { type: "string" + }, + votes: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.feed.getVotes#vote" + } } } } } }, - actor: { + vote: { type: "object", - required: ["did", "declaration", "handle"], + required: ["direction", "indexedAt", "createdAt", "actor"], properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" + direction: { + type: "string", + enum: ["up", "down"] }, - handle: { - type: "string" + indexedAt: { + type: "datetime" }, - actorType: { - type: "string" + createdAt: { + type: "datetime" }, - displayName: { - type: "string", - maxLength: 64 + actor: { + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" } } - }, - recordEmbed: { - type: "object", - required: ["type", "author", "record"], - properties: { - type: { - const: "record" - }, - author: { - $ref: "#/$defs/actor" - }, - record: { - type: "object" + } + } + }, + { + lexicon: 1, + id: "app.bsky.feed.post", + defs: { + main: { + type: "record", + key: "tid", + record: { + type: "object", + required: ["text", "createdAt"], + properties: { + text: { + type: "string", + maxLength: 256 + }, + entities: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.feed.post#entity" + } + }, + reply: { + type: "ref", + ref: "lex:app.bsky.feed.post#replyRef" + }, + createdAt: { + type: "datetime" + } } } }, - externalEmbed: { + replyRef: { type: "object", - required: ["type", "uri", "title", "description", "imageUri"], + required: ["root", "parent"], properties: { - type: { - const: "external" - }, - uri: { - type: "string" - }, - title: { - type: "string" - }, - description: { - type: "string" + root: { + type: "ref", + ref: "lex:com.atproto.repo.strongRef" }, - imageUri: { - type: "string" + parent: { + type: "ref", + ref: "lex:com.atproto.repo.strongRef" } } }, - unknownEmbed: { + entity: { type: "object", - required: ["type"], + required: ["index", "type", "value"], properties: { + index: { + type: "ref", + ref: "lex:app.bsky.feed.post#textSlice" + }, type: { type: "string", - not: { - enum: ["record", "external"] - } + description: "Expected values are 'mention', 'hashtag', and 'link'." + }, + value: { + type: "string" } } }, - declaration: { + textSlice: { type: "object", - required: ["cid", "actorType"], + required: ["start", "end"], properties: { - cid: { - type: "string" + start: { + type: "integer", + minimum: 0 }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + end: { + type: "integer", + minimum: 0 } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.feed.getVotes": { + { lexicon: 1, - id: "app.bsky.feed.getVotes", - type: "query", - parameters: { - type: "object", - required: ["uri"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - }, - direction: { - type: "string", - enum: ["up", "down"] - }, - limit: { - type: "integer", - maximum: 100 - }, - before: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["uri", "votes"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - }, - cursor: { - type: "string" - }, - votes: { - type: "array", - items: { - type: "object", - required: ["direction", "indexedAt", "createdAt", "actor"], - properties: { - direction: { - type: "string", - enum: ["up", "down"] - }, - indexedAt: { - type: "string", - format: "date-time" - }, - createdAt: { - type: "string", - format: "date-time" - }, - actor: { - $ref: "#/$defs/actor" - } - } + id: "app.bsky.feed.repost", + defs: { + main: { + type: "record", + key: "tid", + record: { + type: "object", + required: ["subject", "createdAt"], + properties: { + subject: { + type: "ref", + ref: "lex:com.atproto.repo.strongRef" + }, + createdAt: { + type: "datetime" } } - }, - $defs: { - actor: { + } + } + } + }, + { + lexicon: 1, + id: "app.bsky.feed.setVote", + defs: { + main: { + type: "procedure", + description: "Upvote, downvote, or clear the user's vote for a post.", + input: { + encoding: "application/json", + schema: { type: "object", - required: ["did", "declaration", "handle"], + required: ["subject", "direction"], properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" + subject: { + type: "ref", + ref: "lex:com.atproto.repo.strongRef" }, - handle: { - type: "string" - }, - displayName: { + direction: { type: "string", - maxLength: 64 + enum: ["up", "down", "none"] } } - }, - declaration: { + } + }, + output: { + encoding: "application/json", + schema: { type: "object", - required: ["cid", "actorType"], properties: { - cid: { + upvote: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + downvote: { + type: "string" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } } - }, + } + }, + { + lexicon: 1, + id: "app.bsky.feed.trend", defs: { - actor: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 + main: { + type: "record", + key: "tid", + record: { + type: "object", + required: ["subject", "createdAt"], + properties: { + subject: { + type: "ref", + ref: "lex:com.atproto.repo.strongRef" + }, + createdAt: { + type: "datetime" + } } } - }, - declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + } + } + }, + { + lexicon: 1, + id: "app.bsky.feed.vote", + defs: { + main: { + type: "record", + key: "tid", + record: { + type: "object", + required: ["subject", "direction", "createdAt"], + properties: { + subject: { + type: "ref", + ref: "lex:com.atproto.repo.strongRef" + }, + direction: { + type: "string", + enum: ["up", "down"] + }, + createdAt: { + type: "datetime" + } } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.feed.setVote": { + { lexicon: 1, - id: "app.bsky.feed.setVote", - type: "procedure", - description: "Upvote, downvote, or clear the user's vote for a post.", - input: { - encoding: "application/json", - schema: { - type: "object", - required: ["subject", "direction"], - properties: { - subject: { - $ref: "#/$defs/subject" - }, - direction: { - type: "string", - enum: ["up", "down", "none"] - } - }, - $defs: { - subject: { - type: "object", - required: ["uri", "cid"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - } + id: "app.bsky.graph.assertCreator", + defs: { + main: { + type: "token", + description: "Assertion type: Creator. Defined for app.bsky.graph.assertions's assertion." + } + } + }, + { + lexicon: 1, + id: "app.bsky.graph.assertMember", + defs: { + main: { + type: "token", + description: "Assertion type: Member. Defined for app.bsky.graph.assertions's assertion." + } + } + }, + { + lexicon: 1, + id: "app.bsky.graph.assertion", + defs: { + main: { + type: "record", + key: "tid", + record: { + type: "object", + required: ["assertion", "subject", "createdAt"], + properties: { + assertion: { + type: "string" + }, + subject: { + type: "ref", + ref: "lex:app.bsky.actor.ref" + }, + createdAt: { + type: "datetime" } } } } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - properties: { - upvote: { - type: "string" - }, - downvote: { - type: "string" + } + }, + { + lexicon: 1, + id: "app.bsky.graph.confirmation", + defs: { + main: { + type: "record", + key: "tid", + record: { + type: "object", + required: ["originator", "assertion", "createdAt"], + properties: { + originator: { + type: "ref", + ref: "lex:app.bsky.actor.ref" + }, + assertion: { + type: "ref", + ref: "lex:com.atproto.repo.strongRef" + }, + createdAt: { + type: "datetime" + } } - }, - $defs: {} + } } - }, + } + }, + { + lexicon: 1, + id: "app.bsky.graph.follow", defs: { - subject: { - type: "object", - required: ["uri", "cid"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" + main: { + type: "record", + description: "A social follow.", + key: "tid", + record: { + type: "object", + required: ["subject", "createdAt"], + properties: { + subject: { + type: "ref", + ref: "lex:app.bsky.actor.ref" + }, + createdAt: { + type: "datetime" + } } } } } }, - "app.bsky.graph.getAssertions": { + { lexicon: 1, id: "app.bsky.graph.getAssertions", - type: "query", - description: "General-purpose query for assertions.", - parameters: { - type: "object", - properties: { - author: { - type: "string" - }, - subject: { - type: "string" - }, - assertion: { - type: "string" - }, - confirmed: { - type: "boolean" - }, - limit: { - type: "integer", - maximum: 100 - }, - before: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["assertions"], - properties: { - cursor: { - type: "string" - }, - assertions: { - type: "array", - items: { - type: "object", - required: [ - "uri", - "cid", - "assertion", - "author", - "subject", - "indexedAt", - "createdAt" - ], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - }, - assertion: { - type: "string" - }, - confirmation: { - $ref: "#/$defs/confirmation" - }, - author: { - $ref: "#/$defs/actor" - }, - subject: { - $ref: "#/$defs/actor" - }, - indexedAt: { - type: "string", - format: "date-time" - }, - createdAt: { - type: "string", - format: "date-time" - } - } + defs: { + main: { + type: "query", + description: "General-purpose query for assertions.", + parameters: { + type: "params", + properties: { + author: { + type: "string" + }, + subject: { + type: "string" + }, + assertion: { + type: "string" + }, + confirmed: { + type: "boolean" + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + before: { + type: "string" } } }, - $defs: { - confirmation: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["uri", "cid", "indexedAt", "createdAt"], + required: ["assertions"], properties: { - uri: { + cursor: { type: "string" }, - cid: { - type: "string" - }, - indexedAt: { - type: "string", - format: "date-time" - }, - createdAt: { - type: "string", - format: "date-time" - } - } - }, - actor: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - } - } - }, - declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + assertions: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.graph.getAssertions#assertion" + } } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } - } - }, - defs: { - confirmation: { + }, + assertion: { type: "object", - required: ["uri", "cid", "indexedAt", "createdAt"], + required: [ + "uri", + "cid", + "assertion", + "author", + "subject", + "indexedAt", + "createdAt" + ], properties: { uri: { type: "string" @@ -13514,787 +6513,438 @@ var methodSchemaDict = { cid: { type: "string" }, + assertion: { + type: "string" + }, + confirmation: { + type: "ref", + ref: "lex:app.bsky.graph.getAssertions#confirmation" + }, + author: { + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" + }, + subject: { + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" + }, indexedAt: { - type: "string", - format: "date-time" + type: "datetime" }, createdAt: { - type: "string", - format: "date-time" + type: "datetime" } } }, - actor: { + confirmation: { type: "object", - required: ["did", "declaration", "handle"], + required: ["uri", "cid", "indexedAt", "createdAt"], properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { + uri: { type: "string" }, - displayName: { - type: "string", - maxLength: 64 - } - } - }, - declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { cid: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + indexedAt: { + type: "datetime" + }, + createdAt: { + type: "datetime" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.graph.getFollowers": { + { lexicon: 1, id: "app.bsky.graph.getFollowers", - type: "query", - description: "Who is following a user?", - parameters: { - type: "object", - required: ["user"], - properties: { - user: { - type: "string" - }, - limit: { - type: "integer", - maximum: 100 + defs: { + main: { + type: "query", + description: "Who is following a user?", + parameters: { + type: "params", + required: ["user"], + properties: { + user: { + type: "string" + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + before: { + type: "string" + } + } }, - before: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["subject", "followers"], - properties: { - subject: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["did", "declaration", "handle"], + required: ["subject", "followers"], properties: { - did: { - type: "string" + subject: { + type: "ref", + ref: "lex:app.bsky.graph.getFollowers#subject" }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { + cursor: { type: "string" }, - displayName: { - type: "string", - maxLength: 64 - } - } - }, - cursor: { - type: "string" - }, - followers: { - type: "array", - items: { - type: "object", - required: ["did", "declaration", "handle", "indexedAt"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - }, - createdAt: { - type: "string", - format: "date-time" - }, - indexedAt: { - type: "string", - format: "date-time" + followers: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.graph.getFollowers#follower" } } } } - }, - $defs: { + } + }, + subject: { + type: "object", + required: ["did", "declaration", "handle"], + properties: { + did: { + type: "string" + }, declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] - } - } + type: "ref", + ref: "lex:app.bsky.system.declRef" }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] + handle: { + type: "string" }, - actorUnknown: { + displayName: { type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } + maxLength: 64 } } - } - }, - defs: { - declaration: { + }, + follower: { type: "object", - required: ["cid", "actorType"], + required: ["did", "declaration", "handle", "indexedAt"], properties: { - cid: { + did: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + declaration: { + type: "ref", + ref: "lex:app.bsky.system.declRef" + }, + handle: { + type: "string" + }, + displayName: { + type: "string", + maxLength: 64 + }, + createdAt: { + type: "datetime" + }, + indexedAt: { + type: "datetime" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.graph.getFollows": { + { lexicon: 1, id: "app.bsky.graph.getFollows", - type: "query", - description: "Who is a user following?", - parameters: { - type: "object", - required: ["user"], - properties: { - user: { - type: "string" - }, - limit: { - type: "integer", - maximum: 100 - }, - before: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["subject", "follows"], - properties: { - subject: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - } - } - }, - cursor: { - type: "string" - }, - follows: { - type: "array", - items: { - type: "object", - required: ["did", "declaration", "handle", "indexedAt"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - }, - createdAt: { - type: "string", - format: "date-time" - }, - indexedAt: { - type: "string", - format: "date-time" - } - } + defs: { + main: { + type: "query", + description: "Who is a user following?", + parameters: { + type: "params", + required: ["user"], + properties: { + user: { + type: "string" + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + before: { + type: "string" } } }, - $defs: { - declaration: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["cid", "actorType"], + required: ["subject", "follows"], properties: { - cid: { + subject: { + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" + }, + cursor: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + follows: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.graph.getFollows#follow" + } } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } - } - }, - defs: { - declaration: { + }, + follow: { type: "object", - required: ["cid", "actorType"], + required: ["did", "declaration", "handle", "indexedAt"], properties: { - cid: { + did: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + declaration: { + type: "ref", + ref: "lex:app.bsky.system.declRef" + }, + handle: { + type: "string" + }, + displayName: { + type: "string", + maxLength: 64 + }, + createdAt: { + type: "datetime" + }, + indexedAt: { + type: "datetime" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.graph.getMembers": { + { lexicon: 1, id: "app.bsky.graph.getMembers", - type: "query", - description: "Who is a member of the group?", - parameters: { - type: "object", - required: ["actor"], - properties: { - actor: { - type: "string" - }, - limit: { - type: "integer", - maximum: 100 - }, - before: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["subject", "members"], - properties: { - subject: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - } - } - }, - cursor: { - type: "string" - }, - members: { - type: "array", - items: { - type: "object", - required: ["did", "declaration", "handle", "indexedAt"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - }, - createdAt: { - type: "string", - format: "date-time" - }, - indexedAt: { - type: "string", - format: "date-time" - } - } + defs: { + main: { + type: "query", + description: "Who is a member of the group?", + parameters: { + type: "params", + required: ["actor"], + properties: { + actor: { + type: "string" + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + before: { + type: "string" } } }, - $defs: { - declaration: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["cid", "actorType"], + required: ["subject", "members"], properties: { - cid: { + subject: { + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" + }, + cursor: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + members: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.graph.getMembers#member" + } } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } - } - }, - defs: { - declaration: { + }, + member: { type: "object", - required: ["cid", "actorType"], + required: ["did", "declaration", "handle", "indexedAt"], properties: { - cid: { + did: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + declaration: { + type: "ref", + ref: "lex:app.bsky.system.declRef" + }, + handle: { + type: "string" + }, + displayName: { + type: "string", + maxLength: 64 + }, + createdAt: { + type: "datetime" + }, + indexedAt: { + type: "datetime" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.graph.getMemberships": { + { lexicon: 1, id: "app.bsky.graph.getMemberships", - type: "query", - description: "Which groups is the actor a member of?", - parameters: { - type: "object", - required: ["actor"], - properties: { - actor: { - type: "string" - }, - limit: { - type: "integer", - maximum: 100 - }, - before: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["subject", "memberships"], - properties: { - subject: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - } - } - }, - cursor: { - type: "string" - }, - memberships: { - type: "array", - items: { - type: "object", - required: ["did", "declaration", "handle", "indexedAt"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - }, - createdAt: { - type: "string", - format: "date-time" - }, - indexedAt: { - type: "string", - format: "date-time" - } - } + defs: { + main: { + type: "query", + description: "Which groups is the actor a member of?", + parameters: { + type: "params", + required: ["actor"], + properties: { + actor: { + type: "string" + }, + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + before: { + type: "string" } } }, - $defs: { - declaration: { + output: { + encoding: "application/json", + schema: { type: "object", - required: ["cid", "actorType"], + required: ["subject", "memberships"], properties: { - cid: { + subject: { + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" + }, + cursor: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + memberships: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.graph.getMemberships#membership" + } } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } - } - }, - defs: { - declaration: { + }, + membership: { type: "object", - required: ["cid", "actorType"], + required: ["did", "declaration", "handle", "indexedAt"], properties: { - cid: { + did: { type: "string" }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + declaration: { + type: "ref", + ref: "lex:app.bsky.system.declRef" + }, + handle: { + type: "string" + }, + displayName: { + type: "string", + maxLength: 64 + }, + createdAt: { + type: "datetime" + }, + indexedAt: { + type: "datetime" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.notification.getCount": { + { lexicon: 1, id: "app.bsky.notification.getCount", - type: "query", - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["count"], - properties: { - count: { - type: "integer" + defs: { + main: { + type: "query", + output: { + encoding: "application/json", + schema: { + type: "object", + required: ["count"], + properties: { + count: { + type: "integer" + } + } } - }, - $defs: {} + } } } }, - "app.bsky.notification.list": { + { lexicon: 1, id: "app.bsky.notification.list", - type: "query", - parameters: { - type: "object", - properties: { - limit: { - type: "integer", - maximum: 100 - }, - before: { - type: "string" - } - } - }, - output: { - encoding: "application/json", - schema: { - type: "object", - required: ["notifications"], - properties: { - cursor: { - type: "string" - }, - notifications: { - type: "array", - items: { - $ref: "#/$defs/notification" + defs: { + main: { + type: "query", + parameters: { + type: "params", + properties: { + limit: { + type: "integer", + minimum: 1, + maximum: 100, + default: 50 + }, + before: { + type: "string" } } }, - $defs: { - notification: { + output: { + encoding: "application/json", + schema: { type: "object", - required: [ - "uri", - "cid", - "author", - "reason", - "record", - "isRead", - "indexedAt" - ], + required: ["notifications"], properties: { - uri: { - type: "string", - format: "uri" - }, - cid: { + cursor: { type: "string" }, - author: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - } + notifications: { + type: "array", + items: { + type: "ref", + ref: "lex:app.bsky.notification.list#notification" } - }, - reason: { - type: "string", - $comment: "Expected values are 'vote', 'repost', 'trend', 'follow', 'invite', 'mention' and 'reply'." - }, - reasonSubject: { - type: "string" - }, - record: { - type: "object" - }, - isRead: { - type: "boolean" - }, - indexedAt: { - type: "string", - format: "date-time" } } - }, - declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] - } - } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } - } - }, - defs: { + }, notification: { type: "object", required: [ @@ -14308,631 +6958,134 @@ var methodSchemaDict = { ], properties: { uri: { - type: "string", - format: "uri" + type: "string" }, cid: { type: "string" }, author: { - type: "object", - required: ["did", "declaration", "handle"], - properties: { - did: { - type: "string" - }, - declaration: { - $ref: "#/$defs/declaration" - }, - handle: { - type: "string" - }, - displayName: { - type: "string", - maxLength: 64 - } - } + type: "ref", + ref: "lex:app.bsky.actor.ref#withInfo" }, reason: { type: "string", - $comment: "Expected values are 'vote', 'repost', 'trend', 'follow', 'invite', 'mention' and 'reply'." + description: "Expected values are 'vote', 'repost', 'trend', 'follow', 'invite', 'mention' and 'reply'.", + knownValues: [ + "vote", + "repost", + "trend", + "follow", + "invite", + "mention", + "reply" + ] }, reasonSubject: { type: "string" }, record: { - type: "object" + type: "unknown" }, isRead: { type: "boolean" }, indexedAt: { - type: "string", - format: "date-time" - } - } - }, - declaration: { - type: "object", - required: ["cid", "actorType"], - properties: { - cid: { - type: "string" - }, - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" - } - ] + type: "datetime" } } - }, - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } } } }, - "app.bsky.notification.updateSeen": { + { lexicon: 1, id: "app.bsky.notification.updateSeen", - type: "procedure", - description: "Notify server that the user has seen notifications.", - input: { - encoding: "application/json", - schema: { - type: "object", - required: ["seenAt"], - properties: { - seenAt: { - type: "string", - format: "date-time" - } - }, - $defs: {} - } - }, - output: { - encoding: "application/json", - schema: { - $defs: {} - } - } - } -}; -var methodSchemas = Object.values(methodSchemaDict); -var recordSchemaDict = { - "app.bsky.actor.profile": { - lexicon: 1, - id: "app.bsky.actor.profile", - type: "record", - key: "literal:self", - record: { - type: "object", - required: ["displayName"], - properties: { - displayName: { - type: "string", - maxLength: 64 - }, - description: { - type: "string", - maxLength: 256 - } - }, - $defs: {} - } - }, - "app.bsky.feed.mediaEmbed": { - lexicon: 1, - id: "app.bsky.feed.mediaEmbed", - type: "record", - description: "A list of media embedded in a post or document.", - key: "tid", - record: { - type: "object", - required: ["media"], - properties: { - media: { - type: "array", - items: { - $ref: "#/$defs/mediaEmbed" - } - } - }, - $defs: { - mediaEmbed: { - type: "object", - required: ["original"], - properties: { - alt: { - type: "string" - }, - thumb: { - $ref: "#/$defs/mediaEmbedBlob" - }, - original: { - $ref: "#/$defs/mediaEmbedBlob" - } - } - }, - mediaEmbedBlob: { - type: "object", - required: ["mimeType", "blobId"], - properties: { - mimeType: { - type: "string" - }, - blobId: { - type: "string" - } - } - } - } - }, defs: { - mediaEmbed: { - type: "object", - required: ["original"], - properties: { - alt: { - type: "string" - }, - thumb: { - $ref: "#/$defs/mediaEmbedBlob" - }, - original: { - $ref: "#/$defs/mediaEmbedBlob" - } - } - }, - mediaEmbedBlob: { - type: "object", - required: ["mimeType", "blobId"], - properties: { - mimeType: { - type: "string" - }, - blobId: { - type: "string" - } - } - } - } - }, - "app.bsky.feed.post": { - lexicon: 1, - id: "app.bsky.feed.post", - type: "record", - key: "tid", - record: { - type: "object", - required: ["text", "createdAt"], - properties: { - text: { - type: "string", - maxLength: 256 - }, - entities: { - type: "array", - items: { - $ref: "#/$defs/entity" - } - }, - reply: { - type: "object", - required: ["root", "parent"], - properties: { - root: { - $ref: "#/$defs/postRef" - }, - parent: { - $ref: "#/$defs/postRef" - } - } - }, - createdAt: { - type: "string", - format: "date-time" - } - }, - $defs: { - entity: { - type: "object", - required: ["index", "type", "value"], - properties: { - index: { - $ref: "#/$defs/textSlice" - }, - type: { - type: "string", - $comment: "Expected values are 'mention', 'hashtag', and 'link'." - }, - value: { - type: "string" - } - } - }, - textSlice: { - type: "object", - required: ["start", "end"], - properties: { - start: { - type: "integer", - minimum: 0 - }, - end: { - type: "integer", - minimum: 0 - } - } - }, - postRef: { - type: "object", - required: ["uri", "cid"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" + main: { + type: "procedure", + description: "Notify server that the user has seen notifications.", + input: { + encoding: "application/json", + schema: { + type: "object", + required: ["seenAt"], + properties: { + seenAt: { + type: "datetime" + } } } } } - }, - defs: { - postRef: { - type: "object", - required: ["uri", "cid"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - } - } - }, - entity: { - type: "object", - required: ["index", "type", "value"], - properties: { - index: { - $ref: "#/$defs/textSlice" - }, - type: { - type: "string", - $comment: "Expected values are 'mention', 'hashtag', and 'link'." - }, - value: { - type: "string" - } - } - }, - textSlice: { - type: "object", - required: ["start", "end"], - properties: { - start: { - type: "integer", - minimum: 0 - }, - end: { - type: "integer", - minimum: 0 - } - } - } } }, - "app.bsky.feed.repost": { + { lexicon: 1, - id: "app.bsky.feed.repost", - type: "record", - key: "tid", - record: { - type: "object", - required: ["subject", "createdAt"], - properties: { - subject: { - $ref: "#/$defs/subject" - }, - createdAt: { - type: "string", - format: "date-time" - } - }, - $defs: { - subject: { - type: "object", - required: ["uri", "cid"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - } - } - } - } - }, + id: "app.bsky.system.actorScene", defs: { - subject: { - type: "object", - required: ["uri", "cid"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - } - } + main: { + type: "token", + description: "Actor type: Scene. Defined for app.bsky.system.declaration's actorType." } } }, - "app.bsky.feed.trend": { + { lexicon: 1, - id: "app.bsky.feed.trend", - type: "record", - key: "tid", - record: { - type: "object", - required: ["subject", "createdAt"], - properties: { - subject: { - $ref: "#/$defs/subject" - }, - createdAt: { - type: "string", - format: "date-time" - } - }, - $defs: { - subject: { - type: "object", - required: ["uri", "cid"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - } - } - } - } - }, + id: "app.bsky.system.actorUser", defs: { - subject: { - type: "object", - required: ["uri", "cid"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - } - } + main: { + type: "token", + description: "Actor type: User. Defined for app.bsky.system.declaration's actorType." } } }, - "app.bsky.feed.vote": { + { lexicon: 1, - id: "app.bsky.feed.vote", - type: "record", - key: "tid", - record: { - type: "object", - required: ["subject", "direction", "createdAt"], - properties: { - subject: { - $ref: "#/$defs/subject" - }, - direction: { - type: "string", - enum: ["up", "down"] - }, - createdAt: { - type: "string", - format: "date-time" - } - }, - $defs: { - subject: { - type: "object", - required: ["uri", "cid"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - } - } - } - } - }, + id: "app.bsky.system.declRef", defs: { - subject: { + main: { + description: "A reference to a app.bsky.system.declaration record.", type: "object", - required: ["uri", "cid"], + required: ["cid", "actorType"], properties: { - uri: { - type: "string" - }, cid: { type: "string" + }, + actorType: { + type: "string", + knownValues: [ + "app.bsky.system.actorUser", + "app.bsky.system.actorScene" + ] } } } } }, - "app.bsky.graph.assertion": { + { lexicon: 1, - id: "app.bsky.graph.assertion", - type: "record", - key: "tid", - record: { - type: "object", - required: ["assertion", "subject", "createdAt"], - properties: { - assertion: { - type: "string" - }, - subject: { - type: "object", - required: ["did", "declarationCid"], - properties: { - did: { - type: "string" - }, - declarationCid: { - type: "string" - } - } - }, - createdAt: { - type: "string", - format: "date-time" - } - }, - $defs: {} - } - }, - "app.bsky.graph.confirmation": { - lexicon: 1, - id: "app.bsky.graph.confirmation", - type: "record", - key: "tid", - record: { - type: "object", - required: ["originator", "assertion", "createdAt"], - properties: { - originator: { - type: "object", - required: ["did", "declarationCid"], - properties: { - did: { - type: "string" - }, - declarationCid: { - type: "string" - } - } - }, - assertion: { - type: "object", - required: ["uri", "cid"], - properties: { - uri: { - type: "string" - }, - cid: { - type: "string" - } - } - }, - createdAt: { - type: "string", - format: "date-time" - } - }, - $defs: {} - } - }, - "app.bsky.graph.follow": { - lexicon: 1, - id: "app.bsky.graph.follow", - type: "record", - description: "A social follow.", - key: "tid", - record: { - type: "object", - required: ["subject", "createdAt"], - properties: { - subject: { + id: "app.bsky.system.declaration", + defs: { + main: { + description: "Context for an account that is considered intrinsic to it and alters the fundamental understanding of an account of changed. A declaration should be treated as immutable.", + type: "record", + key: "literal:self", + record: { type: "object", - required: ["did", "declarationCid"], + required: ["actorType"], properties: { - did: { - type: "string" - }, - declarationCid: { - type: "string" - } - } - }, - createdAt: { - type: "string", - format: "date-time" - } - }, - $defs: {} - } - }, - "app.bsky.system.declaration": { - lexicon: 1, - id: "app.bsky.system.declaration", - description: "Context for an account that is considered intrinsic to it and alters the fundamental understanding of an account of changed. A declaration should be treated as immutable.", - type: "record", - key: "literal:self", - record: { - type: "object", - required: ["actorType"], - properties: { - actorType: { - oneOf: [ - { - $ref: "#/$defs/actorKnown" - }, - { - $ref: "#/$defs/actorUnknown" + actorType: { + type: "string", + knownValues: [ + "app.bsky.system.actorUser", + "app.bsky.system.actorScene" + ] } - ] - } - }, - $defs: { - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] } } } - }, - defs: { - actorKnown: { - type: "string", - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - }, - actorUnknown: { - type: "string", - not: { - enum: ["app.bsky.system.actorUser", "app.bsky.system.actorScene"] - } - } } } -}; -var recordSchemas = Object.values(recordSchemaDict); +]; // src/client/types/com/atproto/account/create.ts var create_exports = {}; @@ -15468,11 +7621,17 @@ function toKnownErr42(e) { return e; } +// src/client/types/com/atproto/repo/strongRef.ts +var strongRef_exports = {}; + // src/client/types/app/bsky/actor/profile.ts var profile_exports = {}; -// src/client/types/app/bsky/feed/mediaEmbed.ts -var mediaEmbed_exports = {}; +// src/client/types/app/bsky/actor/ref.ts +var ref_exports = {}; + +// src/client/types/app/bsky/feed/embed.ts +var embed_exports = {}; // src/client/types/app/bsky/feed/post.ts var post_exports = {}; @@ -15486,6 +7645,20 @@ var trend_exports = {}; // src/client/types/app/bsky/feed/vote.ts var vote_exports = {}; +// src/client/types/app/bsky/graph/assertCreator.ts +var assertCreator_exports = {}; +__export(assertCreator_exports, { + MAIN: () => MAIN +}); +var MAIN = "app.bsky.graph.assertCreator#main"; + +// src/client/types/app/bsky/graph/assertMember.ts +var assertMember_exports = {}; +__export(assertMember_exports, { + MAIN: () => MAIN2 +}); +var MAIN2 = "app.bsky.graph.assertMember#main"; + // src/client/types/app/bsky/graph/assertion.ts var assertion_exports = {}; @@ -15495,6 +7668,23 @@ var confirmation_exports = {}; // src/client/types/app/bsky/graph/follow.ts var follow_exports = {}; +// src/client/types/app/bsky/system/actorScene.ts +var actorScene_exports = {}; +__export(actorScene_exports, { + MAIN: () => MAIN3 +}); +var MAIN3 = "app.bsky.system.actorScene#main"; + +// src/client/types/app/bsky/system/actorUser.ts +var actorUser_exports = {}; +__export(actorUser_exports, { + MAIN: () => MAIN4 +}); +var MAIN4 = "app.bsky.system.actorUser#main"; + +// src/client/types/app/bsky/system/declRef.ts +var declRef_exports = {}; + // src/client/types/app/bsky/system/declaration.ts var declaration_exports = {}; @@ -15510,7 +7700,7 @@ var APP_BSKY_SYSTEM = { var Client2 = class { constructor() { this.xrpc = new Client(); - this.xrpc.addSchemas(methodSchemas); + this.xrpc.addLexicons(lexicons); } service(serviceUri) { return new ServiceClient2(this, this.xrpc.service(serviceUri)); @@ -15565,8 +7755,8 @@ var AccountNS = class { throw toKnownErr3(e); }); } - get(params, opts) { - return this._service.xrpc.call("com.atproto.account.get", params, void 0, opts).catch((e) => { + get(params2, opts) { + return this._service.xrpc.call("com.atproto.account.get", params2, void 0, opts).catch((e) => { throw toKnownErr4(e); }); } @@ -15585,8 +7775,8 @@ var HandleNS = class { constructor(service) { this._service = service; } - resolve(params, opts) { - return this._service.xrpc.call("com.atproto.handle.resolve", params, void 0, opts).catch((e) => { + resolve(params2, opts) { + return this._service.xrpc.call("com.atproto.handle.resolve", params2, void 0, opts).catch((e) => { throw toKnownErr7(e); }); } @@ -15610,18 +7800,18 @@ var RepoNS = class { throw toKnownErr10(e); }); } - describe(params, opts) { - return this._service.xrpc.call("com.atproto.repo.describe", params, void 0, opts).catch((e) => { + describe(params2, opts) { + return this._service.xrpc.call("com.atproto.repo.describe", params2, void 0, opts).catch((e) => { throw toKnownErr11(e); }); } - getRecord(params, opts) { - return this._service.xrpc.call("com.atproto.repo.getRecord", params, void 0, opts).catch((e) => { + getRecord(params2, opts) { + return this._service.xrpc.call("com.atproto.repo.getRecord", params2, void 0, opts).catch((e) => { throw toKnownErr12(e); }); } - listRecords(params, opts) { - return this._service.xrpc.call("com.atproto.repo.listRecords", params, void 0, opts).catch((e) => { + listRecords(params2, opts) { + return this._service.xrpc.call("com.atproto.repo.listRecords", params2, void 0, opts).catch((e) => { throw toKnownErr13(e); }); } @@ -15635,8 +7825,8 @@ var ServerNS = class { constructor(service) { this._service = service; } - getAccountsConfig(params, opts) { - return this._service.xrpc.call("com.atproto.server.getAccountsConfig", params, void 0, opts).catch((e) => { + getAccountsConfig(params2, opts) { + return this._service.xrpc.call("com.atproto.server.getAccountsConfig", params2, void 0, opts).catch((e) => { throw toKnownErr15(e); }); } @@ -15655,8 +7845,8 @@ var SessionNS = class { throw toKnownErr17(e); }); } - get(params, opts) { - return this._service.xrpc.call("com.atproto.session.get", params, void 0, opts).catch((e) => { + get(params2, opts) { + return this._service.xrpc.call("com.atproto.session.get", params2, void 0, opts).catch((e) => { throw toKnownErr18(e); }); } @@ -15670,13 +7860,13 @@ var SyncNS = class { constructor(service) { this._service = service; } - getRepo(params, opts) { - return this._service.xrpc.call("com.atproto.sync.getRepo", params, void 0, opts).catch((e) => { + getRepo(params2, opts) { + return this._service.xrpc.call("com.atproto.sync.getRepo", params2, void 0, opts).catch((e) => { throw toKnownErr20(e); }); } - getRoot(params, opts) { - return this._service.xrpc.call("com.atproto.sync.getRoot", params, void 0, opts).catch((e) => { + getRoot(params2, opts) { + return this._service.xrpc.call("com.atproto.sync.getRoot", params2, void 0, opts).catch((e) => { throw toKnownErr21(e); }); } @@ -15712,23 +7902,23 @@ var ActorNS = class { throw toKnownErr23(e); }); } - getProfile(params, opts) { - return this._service.xrpc.call("app.bsky.actor.getProfile", params, void 0, opts).catch((e) => { + getProfile(params2, opts) { + return this._service.xrpc.call("app.bsky.actor.getProfile", params2, void 0, opts).catch((e) => { throw toKnownErr24(e); }); } - getSuggestions(params, opts) { - return this._service.xrpc.call("app.bsky.actor.getSuggestions", params, void 0, opts).catch((e) => { + getSuggestions(params2, opts) { + return this._service.xrpc.call("app.bsky.actor.getSuggestions", params2, void 0, opts).catch((e) => { throw toKnownErr25(e); }); } - search(params, opts) { - return this._service.xrpc.call("app.bsky.actor.search", params, void 0, opts).catch((e) => { + search(params2, opts) { + return this._service.xrpc.call("app.bsky.actor.search", params2, void 0, opts).catch((e) => { throw toKnownErr26(e); }); } - searchTypeahead(params, opts) { - return this._service.xrpc.call("app.bsky.actor.searchTypeahead", params, void 0, opts).catch((e) => { + searchTypeahead(params2, opts) { + return this._service.xrpc.call("app.bsky.actor.searchTypeahead", params2, void 0, opts).catch((e) => { throw toKnownErr27(e); }); } @@ -15742,35 +7932,35 @@ var ProfileRecord = class { constructor(service) { this._service = service; } - async list(params) { + async list(params2) { const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { collection: "app.bsky.actor.profile", - ...params + ...params2 }); return res.data; } - async get(params) { + async get(params2) { const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { collection: "app.bsky.actor.profile", - ...params + ...params2 }); return res.data; } - async create(params, record, headers) { + async create(params2, record, headers) { record.$type = "app.bsky.actor.profile"; const res = await this._service.xrpc.call( "com.atproto.repo.createRecord", void 0, - { collection: "app.bsky.actor.profile", ...params, record }, + { collection: "app.bsky.actor.profile", ...params2, record }, { encoding: "application/json", headers } ); return res.data; } - async delete(params, headers) { + async delete(params2, headers) { await this._service.xrpc.call( "com.atproto.repo.deleteRecord", void 0, - { collection: "app.bsky.actor.profile", ...params }, + { collection: "app.bsky.actor.profile", ...params2 }, { headers } ); } @@ -15778,34 +7968,33 @@ var ProfileRecord = class { var FeedNS = class { constructor(service) { this._service = service; - this.mediaEmbed = new MediaEmbedRecord(service); this.post = new PostRecord(service); this.repost = new RepostRecord(service); this.trend = new TrendRecord(service); this.vote = new VoteRecord(service); } - getAuthorFeed(params, opts) { - return this._service.xrpc.call("app.bsky.feed.getAuthorFeed", params, void 0, opts).catch((e) => { + getAuthorFeed(params2, opts) { + return this._service.xrpc.call("app.bsky.feed.getAuthorFeed", params2, void 0, opts).catch((e) => { throw toKnownErr29(e); }); } - getPostThread(params, opts) { - return this._service.xrpc.call("app.bsky.feed.getPostThread", params, void 0, opts).catch((e) => { + getPostThread(params2, opts) { + return this._service.xrpc.call("app.bsky.feed.getPostThread", params2, void 0, opts).catch((e) => { throw toKnownErr30(e); }); } - getRepostedBy(params, opts) { - return this._service.xrpc.call("app.bsky.feed.getRepostedBy", params, void 0, opts).catch((e) => { + getRepostedBy(params2, opts) { + return this._service.xrpc.call("app.bsky.feed.getRepostedBy", params2, void 0, opts).catch((e) => { throw toKnownErr31(e); }); } - getTimeline(params, opts) { - return this._service.xrpc.call("app.bsky.feed.getTimeline", params, void 0, opts).catch((e) => { + getTimeline(params2, opts) { + return this._service.xrpc.call("app.bsky.feed.getTimeline", params2, void 0, opts).catch((e) => { throw toKnownErr32(e); }); } - getVotes(params, opts) { - return this._service.xrpc.call("app.bsky.feed.getVotes", params, void 0, opts).catch((e) => { + getVotes(params2, opts) { + return this._service.xrpc.call("app.bsky.feed.getVotes", params2, void 0, opts).catch((e) => { throw toKnownErr33(e); }); } @@ -15815,76 +8004,39 @@ var FeedNS = class { }); } }; -var MediaEmbedRecord = class { - constructor(service) { - this._service = service; - } - async list(params) { - const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { - collection: "app.bsky.feed.mediaEmbed", - ...params - }); - return res.data; - } - async get(params) { - const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { - collection: "app.bsky.feed.mediaEmbed", - ...params - }); - return res.data; - } - async create(params, record, headers) { - record.$type = "app.bsky.feed.mediaEmbed"; - const res = await this._service.xrpc.call( - "com.atproto.repo.createRecord", - void 0, - { collection: "app.bsky.feed.mediaEmbed", ...params, record }, - { encoding: "application/json", headers } - ); - return res.data; - } - async delete(params, headers) { - await this._service.xrpc.call( - "com.atproto.repo.deleteRecord", - void 0, - { collection: "app.bsky.feed.mediaEmbed", ...params }, - { headers } - ); - } -}; var PostRecord = class { constructor(service) { this._service = service; } - async list(params) { + async list(params2) { const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { collection: "app.bsky.feed.post", - ...params + ...params2 }); return res.data; } - async get(params) { + async get(params2) { const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { collection: "app.bsky.feed.post", - ...params + ...params2 }); return res.data; } - async create(params, record, headers) { + async create(params2, record, headers) { record.$type = "app.bsky.feed.post"; const res = await this._service.xrpc.call( "com.atproto.repo.createRecord", void 0, - { collection: "app.bsky.feed.post", ...params, record }, + { collection: "app.bsky.feed.post", ...params2, record }, { encoding: "application/json", headers } ); return res.data; } - async delete(params, headers) { + async delete(params2, headers) { await this._service.xrpc.call( "com.atproto.repo.deleteRecord", void 0, - { collection: "app.bsky.feed.post", ...params }, + { collection: "app.bsky.feed.post", ...params2 }, { headers } ); } @@ -15893,35 +8045,35 @@ var RepostRecord = class { constructor(service) { this._service = service; } - async list(params) { + async list(params2) { const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { collection: "app.bsky.feed.repost", - ...params + ...params2 }); return res.data; } - async get(params) { + async get(params2) { const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { collection: "app.bsky.feed.repost", - ...params + ...params2 }); return res.data; } - async create(params, record, headers) { + async create(params2, record, headers) { record.$type = "app.bsky.feed.repost"; const res = await this._service.xrpc.call( "com.atproto.repo.createRecord", void 0, - { collection: "app.bsky.feed.repost", ...params, record }, + { collection: "app.bsky.feed.repost", ...params2, record }, { encoding: "application/json", headers } ); return res.data; } - async delete(params, headers) { + async delete(params2, headers) { await this._service.xrpc.call( "com.atproto.repo.deleteRecord", void 0, - { collection: "app.bsky.feed.repost", ...params }, + { collection: "app.bsky.feed.repost", ...params2 }, { headers } ); } @@ -15930,35 +8082,35 @@ var TrendRecord = class { constructor(service) { this._service = service; } - async list(params) { + async list(params2) { const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { collection: "app.bsky.feed.trend", - ...params + ...params2 }); return res.data; } - async get(params) { + async get(params2) { const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { collection: "app.bsky.feed.trend", - ...params + ...params2 }); return res.data; } - async create(params, record, headers) { + async create(params2, record, headers) { record.$type = "app.bsky.feed.trend"; const res = await this._service.xrpc.call( "com.atproto.repo.createRecord", void 0, - { collection: "app.bsky.feed.trend", ...params, record }, + { collection: "app.bsky.feed.trend", ...params2, record }, { encoding: "application/json", headers } ); return res.data; } - async delete(params, headers) { + async delete(params2, headers) { await this._service.xrpc.call( "com.atproto.repo.deleteRecord", void 0, - { collection: "app.bsky.feed.trend", ...params }, + { collection: "app.bsky.feed.trend", ...params2 }, { headers } ); } @@ -15967,35 +8119,35 @@ var VoteRecord = class { constructor(service) { this._service = service; } - async list(params) { + async list(params2) { const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { collection: "app.bsky.feed.vote", - ...params + ...params2 }); return res.data; } - async get(params) { + async get(params2) { const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { collection: "app.bsky.feed.vote", - ...params + ...params2 }); return res.data; } - async create(params, record, headers) { + async create(params2, record, headers) { record.$type = "app.bsky.feed.vote"; const res = await this._service.xrpc.call( "com.atproto.repo.createRecord", void 0, - { collection: "app.bsky.feed.vote", ...params, record }, + { collection: "app.bsky.feed.vote", ...params2, record }, { encoding: "application/json", headers } ); return res.data; } - async delete(params, headers) { + async delete(params2, headers) { await this._service.xrpc.call( "com.atproto.repo.deleteRecord", void 0, - { collection: "app.bsky.feed.vote", ...params }, + { collection: "app.bsky.feed.vote", ...params2 }, { headers } ); } @@ -16007,28 +8159,28 @@ var GraphNS = class { this.confirmation = new ConfirmationRecord(service); this.follow = new FollowRecord(service); } - getAssertions(params, opts) { - return this._service.xrpc.call("app.bsky.graph.getAssertions", params, void 0, opts).catch((e) => { + getAssertions(params2, opts) { + return this._service.xrpc.call("app.bsky.graph.getAssertions", params2, void 0, opts).catch((e) => { throw toKnownErr35(e); }); } - getFollowers(params, opts) { - return this._service.xrpc.call("app.bsky.graph.getFollowers", params, void 0, opts).catch((e) => { + getFollowers(params2, opts) { + return this._service.xrpc.call("app.bsky.graph.getFollowers", params2, void 0, opts).catch((e) => { throw toKnownErr36(e); }); } - getFollows(params, opts) { - return this._service.xrpc.call("app.bsky.graph.getFollows", params, void 0, opts).catch((e) => { + getFollows(params2, opts) { + return this._service.xrpc.call("app.bsky.graph.getFollows", params2, void 0, opts).catch((e) => { throw toKnownErr37(e); }); } - getMembers(params, opts) { - return this._service.xrpc.call("app.bsky.graph.getMembers", params, void 0, opts).catch((e) => { + getMembers(params2, opts) { + return this._service.xrpc.call("app.bsky.graph.getMembers", params2, void 0, opts).catch((e) => { throw toKnownErr38(e); }); } - getMemberships(params, opts) { - return this._service.xrpc.call("app.bsky.graph.getMemberships", params, void 0, opts).catch((e) => { + getMemberships(params2, opts) { + return this._service.xrpc.call("app.bsky.graph.getMemberships", params2, void 0, opts).catch((e) => { throw toKnownErr39(e); }); } @@ -16037,35 +8189,35 @@ var AssertionRecord = class { constructor(service) { this._service = service; } - async list(params) { + async list(params2) { const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { collection: "app.bsky.graph.assertion", - ...params + ...params2 }); return res.data; } - async get(params) { + async get(params2) { const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { collection: "app.bsky.graph.assertion", - ...params + ...params2 }); return res.data; } - async create(params, record, headers) { + async create(params2, record, headers) { record.$type = "app.bsky.graph.assertion"; const res = await this._service.xrpc.call( "com.atproto.repo.createRecord", void 0, - { collection: "app.bsky.graph.assertion", ...params, record }, + { collection: "app.bsky.graph.assertion", ...params2, record }, { encoding: "application/json", headers } ); return res.data; } - async delete(params, headers) { + async delete(params2, headers) { await this._service.xrpc.call( "com.atproto.repo.deleteRecord", void 0, - { collection: "app.bsky.graph.assertion", ...params }, + { collection: "app.bsky.graph.assertion", ...params2 }, { headers } ); } @@ -16074,35 +8226,35 @@ var ConfirmationRecord = class { constructor(service) { this._service = service; } - async list(params) { + async list(params2) { const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { collection: "app.bsky.graph.confirmation", - ...params + ...params2 }); return res.data; } - async get(params) { + async get(params2) { const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { collection: "app.bsky.graph.confirmation", - ...params + ...params2 }); return res.data; } - async create(params, record, headers) { + async create(params2, record, headers) { record.$type = "app.bsky.graph.confirmation"; const res = await this._service.xrpc.call( "com.atproto.repo.createRecord", void 0, - { collection: "app.bsky.graph.confirmation", ...params, record }, + { collection: "app.bsky.graph.confirmation", ...params2, record }, { encoding: "application/json", headers } ); return res.data; } - async delete(params, headers) { + async delete(params2, headers) { await this._service.xrpc.call( "com.atproto.repo.deleteRecord", void 0, - { collection: "app.bsky.graph.confirmation", ...params }, + { collection: "app.bsky.graph.confirmation", ...params2 }, { headers } ); } @@ -16111,35 +8263,35 @@ var FollowRecord = class { constructor(service) { this._service = service; } - async list(params) { + async list(params2) { const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { collection: "app.bsky.graph.follow", - ...params + ...params2 }); return res.data; } - async get(params) { + async get(params2) { const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { collection: "app.bsky.graph.follow", - ...params + ...params2 }); return res.data; } - async create(params, record, headers) { + async create(params2, record, headers) { record.$type = "app.bsky.graph.follow"; const res = await this._service.xrpc.call( "com.atproto.repo.createRecord", void 0, - { collection: "app.bsky.graph.follow", ...params, record }, + { collection: "app.bsky.graph.follow", ...params2, record }, { encoding: "application/json", headers } ); return res.data; } - async delete(params, headers) { + async delete(params2, headers) { await this._service.xrpc.call( "com.atproto.repo.deleteRecord", void 0, - { collection: "app.bsky.graph.follow", ...params }, + { collection: "app.bsky.graph.follow", ...params2 }, { headers } ); } @@ -16148,13 +8300,13 @@ var NotificationNS = class { constructor(service) { this._service = service; } - getCount(params, opts) { - return this._service.xrpc.call("app.bsky.notification.getCount", params, void 0, opts).catch((e) => { + getCount(params2, opts) { + return this._service.xrpc.call("app.bsky.notification.getCount", params2, void 0, opts).catch((e) => { throw toKnownErr40(e); }); } - list(params, opts) { - return this._service.xrpc.call("app.bsky.notification.list", params, void 0, opts).catch((e) => { + list(params2, opts) { + return this._service.xrpc.call("app.bsky.notification.list", params2, void 0, opts).catch((e) => { throw toKnownErr41(e); }); } @@ -16174,35 +8326,35 @@ var DeclarationRecord = class { constructor(service) { this._service = service; } - async list(params) { + async list(params2) { const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { collection: "app.bsky.system.declaration", - ...params + ...params2 }); return res.data; } - async get(params) { + async get(params2) { const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { collection: "app.bsky.system.declaration", - ...params + ...params2 }); return res.data; } - async create(params, record, headers) { + async create(params2, record, headers) { record.$type = "app.bsky.system.declaration"; const res = await this._service.xrpc.call( "com.atproto.repo.createRecord", void 0, - { collection: "app.bsky.system.declaration", ...params, record }, + { collection: "app.bsky.system.declaration", ...params2, record }, { encoding: "application/json", headers } ); return res.data; } - async delete(params, headers) { + async delete(params2, headers) { await this._service.xrpc.call( "com.atproto.repo.deleteRecord", void 0, - { collection: "app.bsky.system.declaration", ...params }, + { collection: "app.bsky.system.declaration", ...params2 }, { headers } ); } @@ -16241,8 +8393,8 @@ var SessionXrpcServiceClient = class extends ServiceClient { } }); } - async call(methodNsid, params, data, opts) { - const original = (overrideOpts) => super.call(methodNsid, params, data, overrideOpts ?? opts); + async call(methodNsid, params2, data, opts) { + const original = (overrideOpts) => super.call(methodNsid, params2, data, overrideOpts ?? opts); if (opts?.headers?.authorization) { return await original(); } @@ -16341,20 +8493,23 @@ var SessionManager = class extends import_events.default { AppBskyActorGetProfile, AppBskyActorGetSuggestions, AppBskyActorProfile, + AppBskyActorRef, AppBskyActorSearch, AppBskyActorSearchTypeahead, AppBskyActorUpdateProfile, + AppBskyFeedEmbed, AppBskyFeedGetAuthorFeed, AppBskyFeedGetPostThread, AppBskyFeedGetRepostedBy, AppBskyFeedGetTimeline, AppBskyFeedGetVotes, - AppBskyFeedMediaEmbed, AppBskyFeedPost, AppBskyFeedRepost, AppBskyFeedSetVote, AppBskyFeedTrend, AppBskyFeedVote, + AppBskyGraphAssertCreator, + AppBskyGraphAssertMember, AppBskyGraphAssertion, AppBskyGraphConfirmation, AppBskyGraphFollow, @@ -16366,6 +8521,9 @@ var SessionManager = class extends import_events.default { AppBskyNotificationGetCount, AppBskyNotificationList, AppBskyNotificationUpdateSeen, + AppBskySystemActorScene, + AppBskySystemActorUser, + AppBskySystemDeclRef, AppBskySystemDeclaration, AppNS, AssertionRecord, @@ -16386,6 +8544,7 @@ var SessionManager = class extends import_events.default { ComAtprotoRepoGetRecord, ComAtprotoRepoListRecords, ComAtprotoRepoPutRecord, + ComAtprotoRepoStrongRef, ComAtprotoServerGetAccountsConfig, ComAtprotoSessionCreate, ComAtprotoSessionDelete, @@ -16401,7 +8560,6 @@ var SessionManager = class extends import_events.default { FollowRecord, GraphNS, HandleNS, - MediaEmbedRecord, NotificationNS, PostRecord, ProfileRecord, @@ -16420,5 +8578,4 @@ var SessionManager = class extends import_events.default { VoteRecord, sessionClient }); -/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ //# sourceMappingURL=index.js.map |