@aventurevc/aventure-cli 0.8.9 → 0.8.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,114 @@
1
+ import{i as e,t}from"./rolldown-runtime-tZXQYakl.js";import{G as n,J as r,T as i,X as a,a as o,d as s,s as c,v as l}from"./ResourceImpl-Dm7ANMDE.js";import{C as u,D as d,E as f,S as p,T as m,U as h,_ as g,a as _,c as v,f as y,g as b,h as x,j as S,k as C,l as w,m as T,n as E,o as D,r as O,s as k,t as A,v as j,w as M,x as N}from"./person-owner-BqBLyw4S.js";import{EventEmitter as P}from"node:events";import F from"node:child_process";import I,{basename as L,dirname as R,extname as z,resolve as B}from"node:path";import V,{existsSync as ee,readFileSync as H,realpathSync as te}from"node:fs";import U,{argv as ne,env as W,stderr as G}from"node:process";import{stripVTControlCharacters as re}from"node:util";import{inspect as K}from"util";import*as ie from"zlib";import{Readable as ae}from"stream";import*as oe from"fs";import*as se from"path";import{Buffer as ce}from"node:buffer";import{fileURLToPath as le}from"node:url";import{readFile as ue}from"node:fs/promises";import{AsyncLocalStorage as de}from"node:async_hooks";var fe=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},pe=class extends fe{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}},q=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,t)=>{if(!this.argChoices.includes(e))throw new pe(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,t):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function me(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}var he=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let t=e.registeredArguments.map(e=>me(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(t?` `+t:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
2
+ `)}displayWidth(e){return re(e).length}styleTitle(e){return e}styleUsage(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e===`[command]`?this.styleSubcommandText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleCommandText(e)).join(` `)}styleCommandDescription(e){return this.styleDescriptionText(e)}styleOptionDescription(e){return this.styleDescriptionText(e)}styleSubcommandDescription(e){return this.styleDescriptionText(e)}styleArgumentDescription(e){return this.styleDescriptionText(e)}styleDescriptionText(e){return e}styleOptionTerm(e){return this.styleOptionText(e)}styleSubcommandTerm(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleSubcommandText(e)).join(` `)}styleArgumentTerm(e){return this.styleArgumentText(e)}styleOptionText(e){return e}styleArgumentText(e){return e}styleSubcommandText(e){return e}styleCommandText(e){return e}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,t,n,r){let i=` `.repeat(2);if(!n)return i+e;let a=e.padEnd(t+e.length-r.displayWidth(e)),o=(this.helpWidth??80)-t-2-2,s;return s=o<this.minWidthToWrap||r.preformatted(n)?n:r.boxWrap(n,o).replace(/\n/g,`
3
+ `+` `.repeat(t+2)),i+a+` `.repeat(2)+s.replace(/\n/g,`\n${i}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let n=e.split(/\r\n|\n/),r=/[\s]*[^\s]+/g,i=[];return n.forEach(e=>{let n=e.match(r);if(n===null){i.push(``);return}let a=[n.shift()],o=this.displayWidth(a[0]);n.forEach(e=>{let n=this.displayWidth(e);if(o+n<=t){a.push(e),o+=n;return}i.push(a.join(``));let r=e.trimStart();a=[r],o=this.displayWidth(r)}),i.push(a.join(``))}),i.join(`
4
+ `)}},J=class{constructor(e,t){this.flags=e,this.description=t||``,this.required=e.includes(`<`),this.optional=e.includes(`[`),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let n=ve(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith(`--no-`)),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e==`string`&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,t)=>{if(!this.argChoices.includes(e))throw new pe(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,t):e},this}name(){return this.long?this.long.replace(/^--/,``):this.short.replace(/^-/,``)}attributeName(){return this.negate?_e(this.name().replace(/^no-/,``)):_e(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},ge=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let r=this.negativeOptions.get(n).presetArg,i=r!==void 0&&r;return t.negate===(i===e)}};function _e(e){return e.split(`-`).reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function ve(e){let t,n,r=/^-[^-]$/,i=/^--[^-]/,a=e.split(/[ |,]+/).concat(`guard`);if(r.test(a[0])&&(t=a.shift()),i.test(a[0])&&(n=a.shift()),!t&&r.test(a[0])&&(t=a.shift()),!t&&i.test(a[0])&&(t=n,n=a.shift()),a[0].startsWith(`-`)){let t=a[0],n=`option creation failed due to '${t}' in option flags '${e}'`;throw/^-[^-][^-]/.test(t)?Error(`${n}
5
+ - a short flag is a single dash and a single character
6
+ - either use a single dash and a single character (for a short flag)
7
+ - or use a double dash for a long option (and can have two, like '--ws, --workspace')`):r.test(t)?Error(`${n}
8
+ - too many short flags`):i.test(t)?Error(`${n}
9
+ - too many long flags`):Error(`${n}
10
+ - unrecognised flag format`)}if(t===void 0&&n===void 0)throw Error(`option creation failed due to no flags found in '${e}'.`);return{shortFlag:t,longFlag:n}}var ye=3;function be(e,t){if(Math.abs(e.length-t.length)>ye)return Math.max(e.length,t.length);let n=[];for(let t=0;t<=e.length;t++)n[t]=[t];for(let e=0;e<=t.length;e++)n[0][e]=e;for(let r=1;r<=t.length;r++)for(let i=1;i<=e.length;i++){let a;a=e[i-1]===t[r-1]?0:1,n[i][r]=Math.min(n[i-1][r]+1,n[i][r-1]+1,n[i-1][r-1]+a),i>1&&r>1&&e[i-1]===t[r-2]&&e[i-2]===t[r-1]&&(n[i][r]=Math.min(n[i][r],n[i-2][r-2]+1))}return n[e.length][t.length]}function xe(e,t){if(!t||t.length===0)return``;t=Array.from(new Set(t));let n=e.startsWith(`--`);n&&(e=e.slice(2),t=t.map(e=>e.slice(2)));let r=[],i=ye;return t.forEach(t=>{if(t.length<=1)return;let n=be(e,t),a=Math.max(e.length,t.length);(a-n)/a>.4&&(n<i?(i=n,r=[t]):n===i&&r.push(t))}),r.sort((e,t)=>e.localeCompare(t)),n&&(r=r.map(e=>`--${e}`)),r.length>1?`\n(Did you mean one of ${r.join(`, `)}?)`:r.length===1?`\n(Did you mean ${r[0]}?)`:``}var Se=class e extends P{constructor(e){super(),this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=e||``,this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description=``,this._summary=``,this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:e=>U.stdout.write(e),writeErr:e=>U.stderr.write(e),outputError:(e,t)=>t(e),getOutHelpWidth:()=>U.stdout.isTTY?U.stdout.columns:void 0,getErrHelpWidth:()=>U.stderr.isTTY?U.stderr.columns:void 0,getOutHasColors:()=>we()??(U.stdout.isTTY&&U.stdout.hasColors?.()),getErrHasColors:()=>we()??(U.stderr.isTTY&&U.stderr.hasColors?.()),stripColor:e=>re(e)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(e){return this._outputConfiguration=e._outputConfiguration,this._helpOption=e._helpOption,this._helpCommand=e._helpCommand,this._helpConfiguration=e._helpConfiguration,this._exitCallback=e._exitCallback,this._storeOptionsAsProperties=e._storeOptionsAsProperties,this._combineFlagAndOptionalValue=e._combineFlagAndOptionalValue,this._allowExcessArguments=e._allowExcessArguments,this._enablePositionalOptions=e._enablePositionalOptions,this._showHelpAfterError=e._showHelpAfterError,this._showSuggestionAfterError=e._showSuggestionAfterError,this}_getCommandAndAncestors(){let e=[];for(let t=this;t;t=t.parent)e.push(t);return e}command(e,t,n){let r=t,i=n;typeof r==`object`&&r&&(i=r,r=null),i||={};let[,a,o]=e.match(/([^ ]+) *(.*)/),s=this.createCommand(a);return r&&(s.description(r),s._executableHandler=!0),i.isDefault&&(this._defaultCommandName=s._name),s._hidden=!!(i.noHelp||i.hidden),s._executableFile=i.executableFile||null,o&&s.arguments(o),this._registerCommand(s),s.parent=this,s.copyInheritedSettings(this),r?this:s}createCommand(t){return new e(t)}createHelp(){return Object.assign(new he,this.configureHelp())}configureHelp(e){return e===void 0?this._helpConfiguration:(this._helpConfiguration=e,this)}configureOutput(e){return e===void 0?this._outputConfiguration:(this._outputConfiguration={...this._outputConfiguration,...e},this)}showHelpAfterError(e=!0){return typeof e!=`string`&&(e=!!e),this._showHelpAfterError=e,this}showSuggestionAfterError(e=!0){return this._showSuggestionAfterError=!!e,this}addCommand(e,t){if(!e._name)throw Error(`Command passed to .addCommand() must have a name
11
+ - specify the name in Command constructor or using .name()`);return t||={},t.isDefault&&(this._defaultCommandName=e._name),(t.noHelp||t.hidden)&&(e._hidden=!0),this._registerCommand(e),e.parent=this,e._checkForBrokenPassThrough(),this}createArgument(e,t){return new q(e,t)}argument(e,t,n,r){let i=this.createArgument(e,t);return typeof n==`function`?i.default(r).argParser(n):i.default(n),this.addArgument(i),this}arguments(e){return e.trim().split(/ +/).forEach(e=>{this.argument(e)}),this}addArgument(e){let t=this.registeredArguments.slice(-1)[0];if(t?.variadic)throw Error(`only the last argument can be variadic '${t.name()}'`);if(e.required&&e.defaultValue!==void 0&&e.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${e.name()}'`);return this.registeredArguments.push(e),this}helpCommand(e,t){if(typeof e==`boolean`)return this._addImplicitHelpCommand=e,e&&this._defaultCommandGroup&&this._initCommandGroup(this._getHelpCommand()),this;let[,n,r]=(e??`help [command]`).match(/([^ ]+) *(.*)/),i=t??`display help for command`,a=this.createCommand(n);return a.helpOption(!1),r&&a.arguments(r),i&&a.description(i),this._addImplicitHelpCommand=!0,this._helpCommand=a,(e||t)&&this._initCommandGroup(a),this}addHelpCommand(e,t){return typeof e==`object`?(this._addImplicitHelpCommand=!0,this._helpCommand=e,this._initCommandGroup(e),this):(this.helpCommand(e,t),this)}_getHelpCommand(){return this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand(`help`))?(this._helpCommand===void 0&&this.helpCommand(void 0,void 0),this._helpCommand):null}hook(e,t){let n=[`preSubcommand`,`preAction`,`postAction`];if(!n.includes(e))throw Error(`Unexpected value for event passed to hook : '${e}'.
12
+ Expecting one of '${n.join(`', '`)}'`);return this._lifeCycleHooks[e]?this._lifeCycleHooks[e].push(t):this._lifeCycleHooks[e]=[t],this}exitOverride(e){return this._exitCallback=e||(e=>{if(e.code!==`commander.executeSubCommandAsync`)throw e}),this}_exit(e,t,n){this._exitCallback&&this._exitCallback(new fe(e,t,n)),U.exit(e)}action(e){let t=t=>{let n=this.registeredArguments.length,r=t.slice(0,n);return r[n]=this._storeOptionsAsProperties?this:this.opts(),r.push(this),e.apply(this,r)};return this._actionHandler=t,this}createOption(e,t){return new J(e,t)}_callParseArg(e,t,n,r){try{return e.parseArg(t,n)}catch(e){if(e.code===`commander.invalidArgument`){let t=`${r} ${e.message}`;this.error(t,{exitCode:e.exitCode,code:e.code})}throw e}}_registerOption(e){let t=e.short&&this._findOption(e.short)||e.long&&this._findOption(e.long);if(t){let n=e.long&&this._findOption(e.long)?e.long:e.short;throw Error(`Cannot add option '${e.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${n}'
13
+ - already used by option '${t.flags}'`)}this._initOptionGroup(e),this.options.push(e)}_registerCommand(e){let t=e=>[e.name()].concat(e.aliases()),n=t(e).find(e=>this._findCommand(e));if(n){let r=t(this._findCommand(n)).join(`|`),i=t(e).join(`|`);throw Error(`cannot add command '${i}' as already have command '${r}'`)}this._initCommandGroup(e),this.commands.push(e)}addOption(e){this._registerOption(e);let t=e.name(),n=e.attributeName();e.defaultValue!==void 0&&this.setOptionValueWithSource(n,e.defaultValue,`default`);let r=(t,r,i)=>{t==null&&e.presetArg!==void 0&&(t=e.presetArg);let a=this.getOptionValue(n);t!==null&&e.parseArg?t=this._callParseArg(e,t,a,r):t!==null&&e.variadic&&(t=e._collectValue(t,a)),t??=e.negate?!1:e.isBoolean()||e.optional?!0:``,this.setOptionValueWithSource(n,t,i)};return this.on(`option:`+t,t=>{let n=`error: option '${e.flags}' argument '${t}' is invalid.`;r(t,n,`cli`)}),e.envVar&&this.on(`optionEnv:`+t,t=>{let n=`error: option '${e.flags}' value '${t}' from env '${e.envVar}' is invalid.`;r(t,n,`env`)}),this}_optionEx(e,t,n,r,i){if(typeof t==`object`&&t instanceof J)throw Error(`To add an Option object use addOption() instead of option() or requiredOption()`);let a=this.createOption(t,n);if(a.makeOptionMandatory(!!e.mandatory),typeof r==`function`)a.default(i).argParser(r);else if(r instanceof RegExp){let e=r;r=(t,n)=>{let r=e.exec(t);return r?r[0]:n},a.default(i).argParser(r)}else a.default(r);return this.addOption(a)}option(e,t,n,r){return this._optionEx({},e,t,n,r)}requiredOption(e,t,n,r){return this._optionEx({mandatory:!0},e,t,n,r)}combineFlagAndOptionalValue(e=!0){return this._combineFlagAndOptionalValue=!!e,this}allowUnknownOption(e=!0){return this._allowUnknownOption=!!e,this}allowExcessArguments(e=!0){return this._allowExcessArguments=!!e,this}enablePositionalOptions(e=!0){return this._enablePositionalOptions=!!e,this}passThroughOptions(e=!0){return this._passThroughOptions=!!e,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(e=!0){if(this.options.length)throw Error(`call .storeOptionsAsProperties() before adding options`);if(Object.keys(this._optionValues).length)throw Error(`call .storeOptionsAsProperties() before setting option values`);return this._storeOptionsAsProperties=!!e,this}getOptionValue(e){return this._storeOptionsAsProperties?this[e]:this._optionValues[e]}setOptionValue(e,t){return this.setOptionValueWithSource(e,t,void 0)}setOptionValueWithSource(e,t,n){return this._storeOptionsAsProperties?this[e]=t:this._optionValues[e]=t,this._optionValueSources[e]=n,this}getOptionValueSource(e){return this._optionValueSources[e]}getOptionValueSourceWithGlobals(e){let t;return this._getCommandAndAncestors().forEach(n=>{n.getOptionValueSource(e)!==void 0&&(t=n.getOptionValueSource(e))}),t}_prepareUserArgs(e,t){if(e!==void 0&&!Array.isArray(e))throw Error(`first parameter to parse must be array or undefined`);if(t||={},e===void 0&&t.from===void 0){U.versions?.electron&&(t.from=`electron`);let e=U.execArgv??[];(e.includes(`-e`)||e.includes(`--eval`)||e.includes(`-p`)||e.includes(`--print`))&&(t.from=`eval`)}e===void 0&&(e=U.argv),this.rawArgs=e.slice();let n;switch(t.from){case void 0:case`node`:this._scriptPath=e[1],n=e.slice(2);break;case`electron`:U.defaultApp?(this._scriptPath=e[1],n=e.slice(2)):n=e.slice(1);break;case`user`:n=e.slice(0);break;case`eval`:n=e.slice(1);break;default:throw Error(`unexpected parse option { from: '${t.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||`program`,n}parse(e,t){this._prepareForParse();let n=this._prepareUserArgs(e,t);return this._parseCommand([],n),this}async parseAsync(e,t){this._prepareForParse();let n=this._prepareUserArgs(e,t);return await this._parseCommand([],n),this}_prepareForParse(){this._savedState===null?(this.options.filter(e=>e.negate&&e.defaultValue===void 0&&this.getOptionValue(e.attributeName())===void 0).forEach(e=>{let t=e.long.replace(/^--no-/,`--`);this._findOption(t)||this.setOptionValueWithSource(e.attributeName(),!0,`default`)}),this.saveStateBeforeParse()):this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
14
+ - either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(e,t,n){if(V.existsSync(e))return;let r=`'${e}' does not exist
15
+ - if '${n}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
16
+ - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
17
+ - ${t?`searched for local subcommand relative to directory '${t}'`:`no directory for search for local subcommand, use .executableDir() to supply a custom directory`}`;throw Error(r)}_executeSubCommand(e,t){t=t.slice();let n=[`.js`,`.ts`,`.tsx`,`.mjs`,`.cjs`];function r(e,t){let r=I.resolve(e,t);if(V.existsSync(r))return r;if(n.includes(I.extname(t)))return;let i=n.find(e=>V.existsSync(`${r}${e}`));if(i)return`${r}${i}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let i=e._executableFile||`${this._name}-${e._name}`,a=this._executableDir||``;if(this._scriptPath){let e;try{e=V.realpathSync(this._scriptPath)}catch{e=this._scriptPath}a=I.resolve(I.dirname(e),a)}if(a){let t=r(a,i);if(!t&&!e._executableFile&&this._scriptPath){let n=I.basename(this._scriptPath,I.extname(this._scriptPath));n!==this._name&&(t=r(a,`${n}-${e._name}`))}i=t||i}let o=n.includes(I.extname(i)),s;U.platform===`win32`?(this._checkForMissingExecutable(i,a,e._name),t.unshift(i),t=Ce(U.execArgv).concat(t),s=F.spawn(U.execPath,t,{stdio:`inherit`})):o?(t.unshift(i),t=Ce(U.execArgv).concat(t),s=F.spawn(U.argv[0],t,{stdio:`inherit`})):s=F.spawn(i,t,{stdio:`inherit`}),s.killed||[`SIGUSR1`,`SIGUSR2`,`SIGTERM`,`SIGINT`,`SIGHUP`].forEach(e=>{U.on(e,()=>{s.killed===!1&&s.exitCode===null&&s.kill(e)})});let c=this._exitCallback;s.on(`close`,e=>{e??=1,c?c(new fe(e,`commander.executeSubCommandAsync`,`(close)`)):U.exit(e)}),s.on(`error`,t=>{if(t.code===`ENOENT`)this._checkForMissingExecutable(i,a,e._name);else if(t.code===`EACCES`)throw Error(`'${i}' not executable`);if(!c)U.exit(1);else{let e=new fe(1,`commander.executeSubCommandAsync`,`(error)`);e.nestedError=t,c(e)}}),this.runningCommand=s}_dispatchSubcommand(e,t,n){let r=this._findCommand(e);r||this.help({error:!0}),r._prepareForParse();let i;return i=this._chainOrCallSubCommandHook(i,r,`preSubcommand`),i=this._chainOrCall(i,()=>{if(r._executableHandler)this._executeSubCommand(r,t.concat(n));else return r._parseCommand(t,n)}),i}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??`--help`])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(e,t,n)=>{let r=t;if(t!==null&&e.parseArg){let i=`error: command-argument value '${t}' is invalid for argument '${e.name()}'.`;r=this._callParseArg(e,t,n,i)}return r};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((n,r)=>{let i=n.defaultValue;n.variadic?r<this.args.length?(i=this.args.slice(r),n.parseArg&&(i=i.reduce((t,r)=>e(n,r,t),n.defaultValue))):i===void 0&&(i=[]):r<this.args.length&&(i=this.args[r],n.parseArg&&(i=e(n,i,n.defaultValue))),t[r]=i}),this.processedArgs=t}_chainOrCall(e,t){return e?.then&&typeof e.then==`function`?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let n=e,r=[];return this._getCommandAndAncestors().reverse().filter(e=>e._lifeCycleHooks[t]!==void 0).forEach(e=>{e._lifeCycleHooks[t].forEach(t=>{r.push({hookedCommand:e,callback:t})})}),t===`postAction`&&r.reverse(),r.forEach(e=>{n=this._chainOrCall(n,()=>e.callback(e.hookedCommand,this))}),n}_chainOrCallSubCommandHook(e,t,n){let r=e;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(e=>{r=this._chainOrCall(r,()=>e(this,t))}),r}_parseCommand(e,t){let n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let r=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},i=`command:${this.name()}`;if(this._actionHandler){r(),this._processArguments();let n;return n=this._chainOrCallHooks(n,`preAction`),n=this._chainOrCall(n,()=>this._actionHandler(this.processedArgs)),this.parent&&(n=this._chainOrCall(n,()=>{this.parent.emit(i,e,t)})),n=this._chainOrCallHooks(n,`postAction`),n}if(this.parent?.listenerCount(i))r(),this._processArguments(),this.parent.emit(i,e,t);else if(e.length){if(this._findCommand(`*`))return this._dispatchSubcommand(`*`,e,t);this.listenerCount(`command:*`)?this.emit(`command:*`,e,t):this.commands.length?this.unknownCommand():(r(),this._processArguments())}else this.commands.length?(r(),this.help({error:!0})):(r(),this._processArguments())}_findCommand(e){if(e)return this.commands.find(t=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find(t=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(t=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(e=>{let t=e.attributeName();return this.getOptionValue(t)!==void 0&&this.getOptionValueSource(t)!=="default"});e.filter(e=>e.conflictsWith.length>0).forEach(t=>{let n=e.find(e=>t.conflictsWith.includes(e.attributeName()));n&&this._conflictingOption(t,n)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],n=[],r=t;function i(e){return e.length>1&&e[0]===`-`}let a=e=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(e)?!this._getCommandAndAncestors().some(e=>e.options.map(e=>e.short).some(e=>/^-\d$/.test(e))):!1,o=null,s=null,c=0;for(;c<e.length||s;){let l=s??e[c++];if(s=null,l===`--`){r===n&&r.push(l),r.push(...e.slice(c));break}if(o&&(!i(l)||a(l))){this.emit(`option:${o.name()}`,l);continue}if(o=null,i(l)){let t=this._findOption(l);if(t){if(t.required){let n=e[c++];n===void 0&&this.optionMissingArgument(t),this.emit(`option:${t.name()}`,n)}else if(t.optional){let n=null;c<e.length&&(!i(e[c])||a(e[c]))&&(n=e[c++]),this.emit(`option:${t.name()}`,n)}else this.emit(`option:${t.name()}`);o=t.variadic?t:null;continue}}if(l.length>2&&l[0]===`-`&&l[1]!==`-`){let e=this._findOption(`-${l[1]}`);if(e){e.required||e.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${e.name()}`,l.slice(2)):(this.emit(`option:${e.name()}`),s=`-${l.slice(2)}`);continue}}if(/^--[^=]+=/.test(l)){let e=l.indexOf(`=`),t=this._findOption(l.slice(0,e));if(t&&(t.required||t.optional)){this.emit(`option:${t.name()}`,l.slice(e+1));continue}}if(r===t&&i(l)&&!(this.commands.length===0&&a(l))&&(r=n),(this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&n.length===0){if(this._findCommand(l)){t.push(l),n.push(...e.slice(c));break}if(this._getHelpCommand()&&l===this._getHelpCommand().name()){t.push(l,...e.slice(c));break}if(this._defaultCommandName){n.push(l,...e.slice(c));break}}if(this._passThroughOptions){r.push(l,...e.slice(c));break}r.push(l)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let n=0;n<t;n++){let t=this.options[n].attributeName();e[t]=t===this._versionOptionName?this._version:this[t]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}\n`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==`string`?this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
18
+ `),this.outputHelp({error:!0}));let n=t||{},r=n.exitCode||1,i=n.code||`commander.error`;this._exit(r,i,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in U.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||[`default`,`config`,`env`].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,U.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new ge(this.options),t=e=>this.getOptionValue(e)!==void 0&&![`default`,`implied`].includes(this.getOptionValueSource(e));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(e=>{Object.keys(e.implied).filter(e=>!t(e)).forEach(t=>{this.setOptionValueWithSource(t,e.implied[t],`implied`)})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:`commander.missingArgument`})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:`commander.optionMissingArgument`})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:`commander.missingMandatoryOptionValue`})}_conflictingOption(e,t){let n=e=>{let t=e.attributeName(),n=this.getOptionValue(t),r=this.options.find(e=>e.negate&&t===e.attributeName()),i=this.options.find(e=>!e.negate&&t===e.attributeName());return r&&(r.presetArg===void 0&&n===!1||r.presetArg!==void 0&&n===r.presetArg)?r:i||e},r=e=>{let t=n(e),r=t.attributeName();return this.getOptionValueSource(r)===`env`?`environment variable '${t.envVar}'`:`option '${t.flags}'`},i=`error: ${r(e)} cannot be used with ${r(t)}`;this.error(i,{code:`commander.conflictingOption`})}unknownOption(e){if(this._allowUnknownOption)return;let t=``;if(e.startsWith(`--`)&&this._showSuggestionAfterError){let n=[],r=this;do{let e=r.createHelp().visibleOptions(r).filter(e=>e.long).map(e=>e.long);n=n.concat(e),r=r.parent}while(r&&!r._enablePositionalOptions);t=xe(e,n)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:`commander.unknownOption`})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?``:`s`,r=e.length,i=`error: too many arguments${this.parent?` for '${this.name()}'`:``}. Expected ${t} argument${n} but got ${r}: ${e.join(`, `)}.`;this.error(i,{code:`commander.excessArguments`})}unknownCommand(){let e=this.args[0],t=``;if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach(e=>{n.push(e.name()),e.alias()&&n.push(e.alias())}),t=xe(e,n)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:`commander.unknownCommand`})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t||=`-V, --version`,n||=`output the version number`;let r=this.createOption(t,n);return this._versionOptionName=r.attributeName(),this._registerOption(r),this.on(`option:`+r.name(),()=>{this._outputConfiguration.writeOut(`${e}\n`),this._exit(0,`commander.version`,e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw Error(`Command alias can't be the same as its name`);let n=this.parent?._findCommand(e);if(n){let t=[n.name()].concat(n.aliases()).join(`|`);throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`)}return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(e=>this.alias(e)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let e=this.registeredArguments.map(e=>me(e));return[].concat(this.options.length||this._helpOption!==null?`[options]`:[],this.commands.length?`[command]`:[],this.registeredArguments.length?e:[]).join(` `)}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??``:(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??``:(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?this._defaultOptionGroup??``:(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=I.basename(e,I.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp(),n=this._getOutputContext(e);t.prepareContext({error:n.error,helpWidth:n.helpWidth,outputHasColors:n.hasColors});let r=t.formatHelp(this,t);return n.hasColors?r:this._outputConfiguration.stripColor(r)}_getOutputContext(e){e||={};let t=!!e.error,n,r,i;return t?(n=e=>this._outputConfiguration.writeErr(e),r=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth()):(n=e=>this._outputConfiguration.writeOut(e),r=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth()),{error:t,write:e=>(r||(e=this._outputConfiguration.stripColor(e)),n(e)),hasColors:r,helpWidth:i}}outputHelp(e){let t;typeof e==`function`&&(t=e,e=void 0);let n=this._getOutputContext(e),r={error:n.error,write:n.write,command:this};this._getCommandAndAncestors().reverse().forEach(e=>e.emit(`beforeAllHelp`,r)),this.emit(`beforeHelp`,r);let i=this.helpInformation({error:n.error});if(t&&(i=t(i),typeof i!=`string`&&!Buffer.isBuffer(i)))throw Error(`outputHelp callback must return a string or a Buffer`);n.write(i),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit(`afterHelp`,r),this._getCommandAndAncestors().forEach(e=>e.emit(`afterAllHelp`,r))}helpOption(e,t){return typeof e==`boolean`?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??`-h, --help`,t??`display help for command`),(e||t)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(U.exitCode??0);t===0&&e&&typeof e!=`function`&&e.error&&(t=1),this._exit(t,`commander.help`,`(outputHelp)`)}addHelpText(e,t){let n=[`beforeAll`,`before`,`after`,`afterAll`];if(!n.includes(e))throw Error(`Unexpected value for position to addHelpText.
19
+ Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function Ce(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function we(){if(U.env.NO_COLOR||U.env.FORCE_COLOR===`0`||U.env.FORCE_COLOR===`false`)return!1;if(U.env.FORCE_COLOR||U.env.CLICOLOR_FORCE!==void 0)return!0}new Se;var Te;(function(e){e[e.UNSPECIFIED=0]=`UNSPECIFIED`,e[e.TRACE=1]=`TRACE`,e[e.TRACE2=2]=`TRACE2`,e[e.TRACE3=3]=`TRACE3`,e[e.TRACE4=4]=`TRACE4`,e[e.DEBUG=5]=`DEBUG`,e[e.DEBUG2=6]=`DEBUG2`,e[e.DEBUG3=7]=`DEBUG3`,e[e.DEBUG4=8]=`DEBUG4`,e[e.INFO=9]=`INFO`,e[e.INFO2=10]=`INFO2`,e[e.INFO3=11]=`INFO3`,e[e.INFO4=12]=`INFO4`,e[e.WARN=13]=`WARN`,e[e.WARN2=14]=`WARN2`,e[e.WARN3=15]=`WARN3`,e[e.WARN4=16]=`WARN4`,e[e.ERROR=17]=`ERROR`,e[e.ERROR2=18]=`ERROR2`,e[e.ERROR3=19]=`ERROR3`,e[e.ERROR4=20]=`ERROR4`,e[e.FATAL=21]=`FATAL`,e[e.FATAL2=22]=`FATAL2`,e[e.FATAL3=23]=`FATAL3`,e[e.FATAL4=24]=`FATAL4`})(Te||={});var Ee=class{emit(e){}enabled(){return!1}},De=new Ee,Oe=Symbol.for(`io.opentelemetry.js.api.logs`),ke=globalThis;function Ae(e,t,n){return r=>r===e?t:n}var je=new class{getLogger(e,t,n){return new Ee}},Me=class{constructor(e,t,n,r){this._provider=e,this.name=t,this.version=n,this.options=r}emit(e){this._getLogger().emit(e)}enabled(e){return this._getLogger().enabled(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider._getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):De}},Ne=class{getLogger(e,t,n){return this._getDelegateLogger(e,t,n)??new Me(this,e,t,n)}_getDelegate(){return this._delegate??je}_setDelegate(e){this._delegate=e}_getDelegateLogger(e,t,n){return this._delegate?.getLogger(e,t,n)}};(class e{constructor(){this._proxyLoggerProvider=new Ne}static getInstance(){return this._instance||=new e,this._instance}setGlobalLoggerProvider(e){return ke[Oe]?this.getLoggerProvider():(ke[Oe]=Ae(1,e,je),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){return ke[Oe]?.call(ke,1)??this._proxyLoggerProvider}getLogger(e,t,n){return this.getLoggerProvider().getLogger(e,t,n)}disable(){delete ke[Oe],this._proxyLoggerProvider=new Ne}}).getInstance();var Pe=class{_delegate;constructor(e){this._delegate=e}export(e,t){this._delegate.export(e,t)}forceFlush(){return this._delegate.forceFlush()}shutdown(){return this._delegate.shutdown()}setMetrics(e){this._delegate.setMetrics(e)}},Fe=class extends Error{code;name=`OTLPExporterError`;data;constructor(e,t,n){super(e),this.data=n,this.code=t}};function Ie(e){if(Number.isFinite(e)&&e>0)return e;throw Error(`Configuration: timeoutMillis is invalid, expected number greater than 0 (actual: '${e}')`)}function Le(e){if(e!=null)return async()=>e}function Re(e,t,n){return{timeoutMillis:Ie(e.timeoutMillis??t.timeoutMillis??n.timeoutMillis),concurrencyLimit:e.concurrencyLimit??t.concurrencyLimit??n.concurrencyLimit,compression:e.compression??t.compression??n.compression}}function ze(){return{timeoutMillis:1e4,concurrencyLimit:30,compression:`none`}}var Be=class{_concurrencyLimit;_sendingPromises=[];constructor(e){this._concurrencyLimit=e}pushPromise(e){if(this.hasReachedLimit())throw Error(`Concurrency Limit reached`);this._sendingPromises.push(e);let t=()=>{let t=this._sendingPromises.indexOf(e);this._sendingPromises.splice(t,1)};e.then(t,t)}hasReachedLimit(){return this._sendingPromises.length>=this._concurrencyLimit}async awaitAll(){await Promise.all(this._sendingPromises)}};function Ve(e){return new Be(e.concurrencyLimit)}l();function He(e){if(!e)return;let t=e.indexOf(`;`),n=t===-1?e:e.substring(0,t),r=n.indexOf(`=`);if(r<=0)return;let i=n.substring(0,r).trim(),o=n.substring(r+1).trim();if(!i||!o)return;let s,c;try{s=decodeURIComponent(i),c=decodeURIComponent(o)}catch{return}let l;if(t!==-1&&t<e.length-1){let n=e.substring(t+1);l=a(n)}return{key:s,value:c,metadata:l}}function Ue(e){let t={};return typeof e==`string`&&e.length>0&&e.split(`,`).forEach(e=>{let n=He(e);n!==void 0&&n.value.length>0&&(t[n.key]=n.value)}),t}l();function We(e){let t=process.env[e];if(t==null||t.trim()===``)return;let n=Number(t);if(isNaN(n)){i.warn(`Unknown value ${K(t)} for ${e}, expected a number, using defaults`);return}return n}function Ge(e){let t=process.env[e];if(t!=null&&t.trim()!==``)return t}var Ke=performance,qe=9,Je=10**6,Ye=10**qe;function Xe(e){let t=e/1e3;return[Math.trunc(t),Math.round(e%1e3*Je)]}function Ze(e){return et(Xe(Ke.timeOrigin),Xe(typeof e==`number`?e:Ke.now()))}function Qe(e,t){let n=t[0]-e[0],r=t[1]-e[1];return r<0&&(--n,r+=Ye),[n,r]}function $e(e){return e[0]*1e3+e[1]/1e6}function et(e,t){let n=[e[0]+t[0],e[1]+t[1]];return n[1]>=Ye&&(n[1]-=Ye,n[0]+=1),n}var tt;(function(e){e[e.SUCCESS=0]=`SUCCESS`,e[e.FAILED=1]=`FAILED`})(tt||={}),l();function nt(e){return Object.prototype.hasOwnProperty.call(e,`partialSuccess`)}function rt(){return{handleResponse(e){e!=null&&nt(e)&&e.partialSuccess!=null&&Object.keys(e.partialSuccess).length!==0&&i.warn(`Received Partial Success response:`,JSON.stringify(e.partialSuccess))}}}l();var it=class{_metrics;_diagLogger;_transport;_serializer;_responseHandler;_promiseQueue;_timeout;constructor(e,t,n,r,a,o){this._transport=e,this._serializer=t,this._responseHandler=n,this._promiseQueue=r,this._timeout=o,this._diagLogger=i.createComponentLogger({namespace:`OTLPExportDelegate`}),this._metrics=a}export(e,t){if(this._diagLogger.debug(`items to be sent`,e),this._promiseQueue.hasReachedLimit()){t({code:tt.FAILED,error:Error(`Concurrent export limit reached`)});return}let n=this._serializer.serializeRequest(e);if(n==null){t({code:tt.FAILED,error:Error(`Nothing to send`)});return}let r=this._metrics.startExport(e);this._promiseQueue.pushPromise(this._transport.send(n,this._timeout).then(e=>{if(e.status===`success`){if(r(void 0),e.data!=null)try{this._responseHandler.handleResponse(this._serializer.deserializeResponse(e.data))}catch(t){this._diagLogger.warn(`Export succeeded but could not deserialize response - is the response specification compliant?`,t,e.data)}t({code:tt.SUCCESS});return}if(e.status===`failure`&&e.error){r(e.error),t({code:tt.FAILED,error:e.error});return}e.status===`retryable`?(r(`export_max_retries`),t({code:tt.FAILED,error:e.error??new Fe(`Export failed with retryable status`)})):(r(`export_failed`),t({code:tt.FAILED,error:new Fe(`Export failed with unknown error`)}))},e=>{r(e),t({code:tt.FAILED,error:e})}))}forceFlush(){return this._promiseQueue.awaitAll()}setMetrics(e){this._metrics=e}async shutdown(){this._diagLogger.debug(`shutdown started`),await this.forceFlush(),this._transport.shutdown()}};function at(e,t){return new it(e.transport,e.serializer,rt(),e.promiseHandler,e.metrics,t.timeout)}var ot=`http.response.status_code`,st=`otel.component.name`,ct=`otel.component.type`,lt=`server.address`,ut=`server.port`,dt=`error.type`,ft=`0.221.0`;l();var pt=new Map,mt=class{inflight;exported;duration;standardAttrs;responseAttributesFromError;helper;constructor(e){let{componentType:t,metricsHelper:r,meterProvider:i,url:a,responseAttributesFromError:o}=e;this.responseAttributesFromError=o;let s=i?i.getMeter(`@opentelemetry/otlp-exporter`,ft):n(),c=pt.get(t)??0;if(pt.set(t,c+1),this.standardAttrs={[ct]:t,[st]:`${t}/${c}`},a){let e=a;a.includes(`://`)||(e=`http://${a}`);try{let t=new URL(e);this.standardAttrs[lt]=t.hostname;let n;t.port?n=Number(t.port):t.protocol===`http:`?n=80:t.protocol===`https:`&&(n=443),typeof n==`number`&&(this.standardAttrs[ut]=n)}catch{}}this.helper=r,this.inflight=s.createUpDownCounter(`otel.sdk.exporter.${this.helper.name}.inflight`,{unit:`{${this.helper.name}}`,description:`The number of ${this.helper.name}s which were passed to the exporter, but that have not been exported yet (neither successful, nor failed).`}),this.exported=s.createCounter(`otel.sdk.exporter.${this.helper.name}.exported`,{unit:`{${this.helper.name}}`,description:`The number of ${this.helper.name}s for which the export has finished, either successful or failed.`}),this.duration=s.createHistogram(`otel.sdk.exporter.operation.duration`,{unit:`s`,description:`The duration of exporting a batch of telemetry records.`,advice:{explicitBucketBoundaries:[]}})}startExport(e){let t=this.helper.countItems(e),n=Ze();return this.inflight.add(t,this.standardAttrs),e=>{let r=Ze();this.inflight.add(-t,this.standardAttrs);let i=e?{...this.standardAttrs,[dt]:e instanceof Error?e.name:`export_failed`}:this.standardAttrs;this.exported.add(t,i);let a={...i,...this.responseAttributesFromError(e)},o=$e(Qe(n,r))/1e3;this.duration.record(o,a)}}};function ht(e,t){let n={attributes:_t(e.attributes,t),droppedAttributesCount:0},r=e.schemaUrl;return r&&r!==``&&(n.schemaUrl=r),n}function gt(e,t){let n={name:e.name,version:e.version};return e.attributes&&Object.keys(e.attributes).length>0&&(n.attributes=_t(e.attributes,t),n.droppedAttributesCount=e.droppedAttributesCount??0),n}function _t(e,t){return Object.keys(e).map(n=>vt(n,e[n],t))}function vt(e,t,n){return{key:e,value:yt(t,n)}}function yt(e,t){let n=typeof e;if(n===`string`)return{stringValue:e};if(n===`number`)return Number.isInteger(e)?{intValue:e}:{doubleValue:e};if(n===`boolean`)return{boolValue:e};if(e instanceof Uint8Array)return{bytesValue:t.encodeUint8Array(e)};if(Array.isArray(e)){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=yt(e[r],t);return{arrayValue:{values:n}}}if(n===`object`&&e!=null){let n=Object.keys(e),r=Array(n.length);for(let i=0;i<n.length;i++)r[i]={key:n[i],value:yt(e[n[i]],t)};return{kvlistValue:{values:r}}}return{}}var bt=10**9;function xt(e){return e[0]*bt+e[1]}function St(e){let t=BigInt(1e9);return BigInt(Math.trunc(e[0]))*t+BigInt(Math.trunc(e[1]))}function Ct(e){return St(e).toString()}var wt=typeof BigInt<`u`?Ct:xt;function Tt(e){return e}var Et={encodeHrTime:wt,encodeSpanContext:Tt,encodeOptionalSpanContext:Tt,encodeUint8Array:e=>{if(typeof Buffer<`u`)return Buffer.from(e).toString(`base64`);let t=Array(e.length);for(let n=0;n<e.length;n++)t[n]=String.fromCharCode(e[n]);return btoa(t.join(``))}};l(),l();function Dt(e){let t={};return Object.entries(e??{}).forEach(([e,n])=>{n===void 0?i.warn(`Header "${e}" has invalid value (${n}) and will be ignored`):t[e]=String(n)}),t}function Ot(e,t,n){return async()=>{let r={...await n()},i={};return t!=null&&Object.assign(i,await t()),e!=null&&Object.assign(i,Dt(await e())),Object.assign(i,r)}}function kt(e){if(e!=null)try{let t=globalThis.location?.href;return new URL(e,t).href}catch{throw Error(`Configuration: Could not parse user-provided export URL: '${e}'`)}}function At(e,t,n){return{...Re(e,t,n),headers:Ot(e.headers,t.headers,n.headers),url:kt(e.url)??t.url??n.url}}function jt(e,t){return{...ze(),headers:async()=>e,url:`http://localhost:4318/`+t}}function Mt(e){return async t=>{let n=t===`http:`,{Agent:r}=await(n?import(`http`):import(`https`));if(n){let{ca:t,cert:n,key:i,...a}=e;return new r(a)}return new r(e)}}function Nt(e,t,n){return{...At(e,t,n),agentFactory:e.agentFactory??t.agentFactory??n.agentFactory,userAgent:e.userAgent}}function Pt(e,t){return{...jt(e,t),agentFactory:Mt({keepAlive:!0})}}function Ft(e){return e===429||e===502||e===503||e===504}function It(e){if(e==null)return;let t=Number.parseInt(e,10);if(Number.isInteger(t))return t>0?t*1e3:-1;let n=new Date(e).getTime()-Date.now();return n>=0?n:0}var Lt=`OTel-OTLP-Exporter-JavaScript/${ft}`,Rt=4194304;function zt(e,t,n,r,i,a,o,s){return new Promise(c=>{let l=new URL(t);n[`User-Agent`]=i?`${i} ${Lt}`:Lt;let u=e(l,{method:`POST`,headers:n,agent:a},e=>{let t=[],n=0;e.on(`data`,r=>{if(n+=r.length,n>4194304){c({status:`failure`,error:Error(`OTLP export response body exceeded size limit of ${Rt} bytes`)}),e.destroy();return}t.push(r)}),e.on(`end`,()=>{e.statusCode&&e.statusCode<=299?c({status:`success`,data:Buffer.concat(t)}):e.statusCode&&Ft(e.statusCode)?c({status:`retryable`,retryInMillis:It(e.headers[`retry-after`])}):c({status:`failure`,error:new Fe(e.statusMessage,e.statusCode,Buffer.concat(t).toString())})}),e.on(`error`,t=>{e.statusCode&&e.statusCode<=299?c({status:`success`}):e.statusCode&&Ft(e.statusCode)?c({status:`retryable`,error:t,retryInMillis:It(e.headers[`retry-after`])}):c({status:`failure`,error:t})})});u.setTimeout(s,()=>{u.destroy(),c({status:`retryable`,error:Error(`Request timed out`)})}),u.on(`error`,e=>{Ht(e)?c({status:`retryable`,error:e}):c({status:`failure`,error:e})}),Bt(u,r,o,e=>{c({status:`failure`,error:e})})})}function Bt(e,t,n,r){let i=Vt(n);t===`gzip`&&(e.setHeader(`Content-Encoding`,`gzip`),i=i.on(`error`,r).pipe(ie.createGzip()).on(`error`,r)),i.pipe(e).on(`error`,r)}function Vt(e){let t=new ae;return t.push(e),t.push(null),t}function Ht(e){let t=new Set([`ECONNRESET`,`ECONNREFUSED`,`EPIPE`,`ETIMEDOUT`,`EAI_AGAIN`,`ENOTFOUND`,`ENETUNREACH`,`EHOSTUNREACH`]);return`code`in e&&typeof e.code==`string`&&t.has(e.code)}var Ut=class{_utils=null;_parameters;constructor(e){this._parameters=e}async send(e,t){let{agent:n,request:r}=await this._loadUtils(),i=await this._parameters.headers();return zt(r,this._parameters.url,i,this._parameters.compression,this._parameters.userAgent,n,e,t)}shutdown(){}async _loadUtils(){let e=this._utils;if(e===null){let t=new URL(this._parameters.url).protocol,[n,r]=await Promise.all([this._parameters.agentFactory(t),Wt(t)]);e=this._utils={agent:n,request:r}}return e}};async function Wt(e){let{request:t}=await(e===`http:`?import(`http`):import(`https`));return t}function Gt(e){return new Ut(e)}l();var Kt=5,qt=1e3,Jt=5e3,Yt=1.5,Xt=.2;function Zt(){return 2*Xt*Math.random()-Xt}var Qt=class{_transport;constructor(e){this._transport=e}retry(e,t,n){return new Promise((r,i)=>{setTimeout(()=>{this._transport.send(e,t).then(r,i)},n)})}async send(e,t){let n=Kt,r=qt,a=Date.now()+t,o=await this._transport.send(e,t);for(;o.status===`retryable`&&n>0;){n--;let t=Math.max(Math.min(r*(1+Zt()),Jt),0);r*=Yt;let s=o.retryInMillis??t,c=a-Date.now();if(s>c)return i.info(`Export retry time ${Math.round(s)}ms exceeds remaining timeout ${Math.round(c)}ms, not retrying further.`),o;i.verbose(`Scheduling export retry in ${Math.round(s)}ms`),o=await this.retry(e,c,s)}return o.status===`success`?i.verbose(`Export succeeded after ${Kt-n} retry attempts.`):o.status===`retryable`?i.info(`Export failed after maximum retry attempts (${Kt}).`):i.info(`Export failed with non-retryable error: ${o.error}`),o}shutdown(){return this._transport.shutdown()}};function $t(e){return new Qt(e.transport)}function en(e,t,n,r){return new mt({componentType:e,metricsHelper:t,url:n,meterProvider:r,responseAttributesFromError:e=>e?e instanceof Fe?{[ot]:e.code}:{}:{[ot]:200}})}function tn(e,t,n,r,i){return at({transport:$t({transport:Gt(e)}),serializer:t,promiseHandler:Ve(e),metrics:en(n,r,e.url,i)},{timeout:e.timeoutMillis})}l();function nn(e){let t=We(e);if(t!=null){if(Number.isFinite(t)&&t>0)return t;i.warn(`Configuration: ${e} is invalid, expected number greater than 0 (actual: ${t})`)}}function rn(e){let t=nn(`OTEL_EXPORTER_OTLP_${e}_TIMEOUT`),n=nn(`OTEL_EXPORTER_OTLP_TIMEOUT`);return t??n}function an(e){let t=Ge(e)?.trim();if(t==null||t===`none`||t===`gzip`)return t;i.warn(`Configuration: ${e} is invalid, expected 'none' or 'gzip' (actual: '${t}')`)}function on(e){let t=an(`OTEL_EXPORTER_OTLP_${e}_COMPRESSION`),n=an(`OTEL_EXPORTER_OTLP_COMPRESSION`);return t??n}function sn(e){return{timeoutMillis:rn(e),compression:on(e)}}l();function cn(e){let t=Ge(`OTEL_EXPORTER_OTLP_${e}_HEADERS`),n=Ge(`OTEL_EXPORTER_OTLP_HEADERS`),r=Ue(t),i=Ue(n);if(Object.keys(r).length!==0||Object.keys(i).length!==0)return Object.assign({},Ue(n),Ue(t))}function ln(e){try{return new URL(e).toString()}catch{i.warn(`Configuration: Could not parse environment-provided export URL: '${e}', falling back to undefined`);return}}function un(e,t){try{new URL(e)}catch{i.warn(`Configuration: Could not parse environment-provided export URL: '${e}', falling back to undefined`);return}e.endsWith(`/`)||(e+=`/`),e+=t;try{new URL(e)}catch{i.warn(`Configuration: Provided URL appended with '${t}' is not a valid URL, using 'undefined' instead of '${e}'`);return}return e}function dn(e){let t=Ge(`OTEL_EXPORTER_OTLP_ENDPOINT`);if(t!==void 0)return un(t,e)}function fn(e){let t=Ge(`OTEL_EXPORTER_OTLP_${e}_ENDPOINT`);if(t!==void 0)return ln(t)}function pn(e,t,n){let r=Ge(e),a=Ge(t),o=r??a;if(o!=null)try{return oe.readFileSync(se.resolve(process.cwd(),o))}catch{i.warn(n);return}}function mn(e){return pn(`OTEL_EXPORTER_OTLP_${e}_CLIENT_CERTIFICATE`,`OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`,`Failed to read client certificate chain file`)}function hn(e){return pn(`OTEL_EXPORTER_OTLP_${e}_CLIENT_KEY`,`OTEL_EXPORTER_OTLP_CLIENT_KEY`,`Failed to read client certificate private key file`)}function gn(e){return pn(`OTEL_EXPORTER_OTLP_${e}_CERTIFICATE`,`OTEL_EXPORTER_OTLP_CERTIFICATE`,`Failed to read root certificate file`)}function _n(e,t){return{...sn(e),url:fn(e)??dn(t),headers:Le(cn(e)),agentFactory:Mt({keepAlive:!0,ca:gn(e),cert:mn(e),key:hn(e)})}}function vn(e){return typeof e.headers==`function`?e.headers:Le(e.headers)}l();function yn(e){if(typeof e.httpAgentOptions==`function`)return e.httpAgentOptions;let t=e.httpAgentOptions;if(e.keepAlive!=null&&(t={keepAlive:e.keepAlive,...t}),t!=null)return Mt(t)}function bn(e,t,n,r){return e.metadata&&i.warn(`Metadata cannot be set when using http`),Nt({url:e.url,headers:vn(e),concurrencyLimit:e.concurrencyLimit,timeoutMillis:e.timeoutMillis,compression:e.compression,agentFactory:yn(e),userAgent:e.userAgent},_n(t,n),Pt(r,n))}l(),c();var xn=new class{_MAX_LENGTH=255;_COMMA_SEPARATOR=`,`;_LABEL_KEY_VALUE_SPLITTER=`=`;detect(e){let t={},n=o(`OTEL_RESOURCE_ATTRIBUTES`),r=o(`OTEL_SERVICE_NAME`);if(n)try{let e=this._parseResourceAttributes(n);Object.assign(t,e)}catch(e){i.debug(`EnvDetector failed: ${e instanceof Error?e.message:e}`)}return r&&(t[s]=r),{attributes:t}}_parseResourceAttributes(e){if(!e)return{};let t={},n=e.split(this._COMMA_SEPARATOR).filter(e=>e.trim()!==``);for(let e of n){let n=e.split(this._LABEL_KEY_VALUE_SPLITTER);if(n.length!==2)throw Error(`Invalid format for OTEL_RESOURCE_ATTRIBUTES: "${e}". Expected format: key=value. The ',' and '=' characters must be percent-encoded in keys and values.`);let[r,i]=n,a=r.trim(),o=i.trim();if(a.length===0)throw Error(`Invalid OTEL_RESOURCE_ATTRIBUTES: empty attribute key in "${e}".`);let s,c;try{s=decodeURIComponent(a),c=decodeURIComponent(o)}catch(t){throw Error(`Failed to percent-decode OTEL_RESOURCE_ATTRIBUTES entry "${e}": ${t instanceof Error?t.message:t}`,{cause:t})}if(s.length>this._MAX_LENGTH)throw Error(`Attribute key exceeds the maximum length of ${this._MAX_LENGTH} characters: "${s}".`);if(c.length>this._MAX_LENGTH)throw Error(`Attribute value exceeds the maximum length of ${this._MAX_LENGTH} characters for key "${s}".`);t[s]=c}return t}};l(),r(`OpenTelemetry SDK Context Key SUPPRESS_TRACING`),l(),c();var Sn;(function(e){e[e.SUCCESS=0]=`SUCCESS`,e[e.FAILED=1]=`FAILED`})(Sn||={}),l(),c(),l();var Cn;(function(e){e[e.DROP_INVALID=0]=`DROP_INVALID`,e[e.DROP_LIMIT_REACHED=1]=`DROP_LIMIT_REACHED`,e[e.ADD_NEW=2]=`ADD_NEW`,e[e.ADD_OVERWRITE_EXISTING=3]=`ADD_OVERWRITE_EXISTING`})(Cn||={}),l(),c(),l(),l(),Te.UNSPECIFIED,l(),l();var wn={invalid_type:`invalid_type`,too_big:`too_big`,too_small:`too_small`,invalid_format:`invalid_format`,not_multiple_of:`not_multiple_of`,unrecognized_keys:`unrecognized_keys`,invalid_union:`invalid_union`,invalid_key:`invalid_key`,invalid_element:`invalid_element`,invalid_value:`invalid_value`,custom:`custom`},Tn;Tn||={};function En(e){return S(O,e)}var Dn=T(()=>M([u(),g(),w(),D(),v(Dn),N(u(),Dn)])),On=_([`REACTIVATE`,`ATTACH_INACTIVE`]),kn=j({availableOverrides:v(On),slug:u(),tagId:y()}),An=j({externalId:u().nullish(),id:y(),reason:v(u()),score:y(),slug:u().regex(/^[a-z0-9_-]+$/).max(255).nullish()}),jn=j({externalId:u().nullish(),id:d(),name:u().nullish(),operatingStatus:u().nullish(),publicPath:u().nullish(),reason:v(u()),score:y(),slug:u().regex(/^[a-z0-9_-]+$/).max(255).nullish(),typeRecord:E.nullish()}),Mn=j({candidate:v(jn).nullish(),newsCandidate:v(An).nullish(),overridePath:u().nullish(),threshold:y()}),Nn=j({conflictingArticleId:y(),conflictingArticleSlug:u(),conflictingArticleTitle:u()}),Pn=j({candidateEntityId:v(d()),candidatePersonId:v(d()),hint:u(),normalizedUrl:u().nullish(),url:u(),urlType:u().nullish()}),Fn=j({owner:A,urlId:y()}),In=j({existingJoin:v(Fn),fragmentIgnored:w(),guidance:u(),normalizedUrl:u().nullish(),requestedOwner:A,url:u(),urlType:u()}),Ln=M([In,Pn,Mn,kn,Nn]),Rn=j({acceptedValue:v(u()).nullish(),action:_([`setField`,`setParameter`,`removeParameter`,`useEndpoint`,`reviewCandidates`,`authenticate`]),endpoint:u().nullish(),fieldPath:u().nullish(),parameter:u().nullish(),retryable:w().nullish()}),zn=_([`entity`,`person`,`news`,`blog`,`content`]),Bn=j({deletedAt:C({offset:!0}).nullish(),id:u(),isHidden:w(),nameBrand:u().nullish(),resourceType:zn,showOnSitemap:w(),slug:u()}),Vn=j({newUrl:u().nullish(),oldUrl:u(),targetCurrentSlug:u().nullish(),targetId:u().nullish(),targetResourceType:zn.nullish()}),Hn=j({allowanceType:_([`COMPANY`,`PERSON`,`ENTITY_VIEW`,`PERSON_VIEW`,`WEB_SEARCH`]).nullish(),circuitBreaker:u().nullish(),code:_(`not_authorized.rateLimited.rate_limited.subscription_required.subscription_canceled.subscription_past_due.subscription_paused.billing_allowance_exhausted.billing_additional_usage_cap_reached.origin_detail_capacity.origin_detail_shutdown.suspectedShellStrip.suspected_shell_strip.url_surface_misclassification.JOBRUNR_DISABLED.jobrunr_disabled.JOBRUNR_STORAGE_UNAVAILABLE.jobrunr_storage_unavailable.rbac_lookup_unavailable.GEOCODE_PROVIDER_ERROR.geocode_provider_error.sentry_api_error.frontend_cache_epoch_mode_not_targeted.image_blocklist_match.image_monochrome.image_too_small.image_wrong_aspect.image_monogram.image_unreadable.image_processing_error.image_brand_mismatch.web_crawl_fetch_failed.primary_website_missing.news_rss_feed_fetch_failed.news_rss_article_fetch_failed.r2_fetch_failed.r2_delete_failed.r2_upload_failed.source_document_body_unavailable.source_document_capture_limit_exceeded.news_similarity_embedding_unavailable.search_provider_not_configured.search_provider_error.sec_edgar_fetch_failed.github_fetch_failed.INFERENCE_PROVIDER_ERROR.inference_provider_error.INFERENCE_PROVIDER_RESPONSE_EMPTY.inference_provider_response_empty.INFERENCE_PROVIDER_INVALID_JSON.inference_provider_invalid_json.INFERENCE_PROFILES_MISSING.inference_profiles_missing.INFERENCE_PROFILE_API_KEY_MISSING.inference_profile_api_key_missing`.split(`.`)).nullish(),conflictingRecord:Bn.nullish(),detail:u().optional(),details:Ln.nullish(),error:N(u(),u()).nullish(),existingRedirect:Vn.nullish(),feId:u().nullish(),field:u().nullish(),hammingDistance:g().int().nullish(),hint:u().nullish(),instance:u().optional(),limit:g().int().nullish(),limitType:_([`FORM`,`GLOBAL`,`SUBNET`,`IP`,`UNKNOWN`,`RESILIENCE4J`,`WEB_SEARCH`,`AGENT_HELP`,`NATURAL_SEARCH`,`BILLING_ALLOWANCE`,`BILLING_ADDITIONAL_USAGE`,`CLERK_PUBLIC_ADMISSION`,`CLERK_SCRIPT_LOAD`,`ORIGIN_DETAIL`,`INFERENCE_PROVIDER`]).nullish(),matchedBlocklistKey:u().nullish(),mediaType:u().nullish(),moderationReason:u().nullish(),parseError:u().nullish(),path:u().nullish(),properties:N(u(),Dn).optional(),remaining:g().int().nullish(),requiredRole:u().nullish(),resetAt:C({offset:!0}).nullish(),resolution:Rn.nullish(),retryAfterSeconds:g().int().nullish(),spanId:u().nullish(),status:y().optional(),suggestion:u().nullish(),suggestions:N(u(),u()).nullish(),suspectedFragment:u().nullish(),title:u().optional(),traceId:u().nullish(),type:u().optional(),unknownParameters:v(u()).nullish(),used:g().int().nullish(),validParameters:v(u()).nullish(),value:u().nullish(),windowSeconds:g().int().nullish()}),Un=M([u(),g(),w()]),Wn=j({status:g(),title:u(),type:u()}).catchall(Dn.optional()).and(Hn);j({ok:w(),summary:u(),httpStatus:g().optional(),operationId:u().optional(),method:u().optional(),endpoint:u().optional(),format:_([`json`,`text`]).optional(),count:g().optional(),page:j({number:g().optional(),size:g().optional(),numberOfElements:g().optional(),totalElements:g().optional(),totalPages:g().optional(),first:w().optional(),last:w().optional(),empty:w().optional()}).optional(),filters:N(u(),M([Un,v(Un)])).optional(),truncated:w().optional(),truncation:j({byteLength:g(),maxBytes:g(),omitted:v(u()),recovery:u()}).optional(),omitted:v(u()).default([]),ids:v(u()),counts:N(u(),g()),references:v(u()),warnings:v(u()),problem:Wn.optional(),data:m()});var Gn=5e4,Kn=[50,25,10,5,1],qn=320,Jn=1e3,Yn=/^(?:bio|biography|body|content|description|evidence|fulltext|notes|snippet|sourcetext|summary|text)$/u,Xn=/(?:description|snippet|summary|text)$/u;function Zn(e){let t=mr(e)?e:null;if(t===null)return;let n={number:hr(t,`number`),size:hr(t,`size`),numberOfElements:hr(t,`numberOfElements`),totalElements:hr(t,`totalElements`),totalPages:hr(t,`totalPages`),first:gr(t,`first`),last:gr(t,`last`),empty:gr(t,`empty`)};return Object.values(n).some(e=>e!==void 0)?n:void 0}function Qn(e,t){if(t?.numberOfElements!==void 0)return t.numberOfElements;if(Array.isArray(e))return e.length;let n=mr(e)?e.content:void 0;return Array.isArray(n)?n.length:void 0}function Y(e,t,n={}){return{ok:!0,summary:e,...n,omitted:n.omitted??[],ids:n.ids??[],counts:n.counts??{},references:n.references??[],warnings:n.warnings??[],data:t}}function X(e,t=[],n={}){return{ok:!1,summary:e,...n,omitted:n.omitted??[],ids:n.ids??[],counts:n.counts??{},references:n.references??[],warnings:t,data:null}}function $n(e){let t=JSON.stringify(e),n=ce.byteLength(t,`utf8`);if(n<=5e4)return e;let r=e;for(let t of Kn)if(r=er(e,n,ar(e.data,n,t)),ce.byteLength(JSON.stringify(r),`utf8`)<=5e4)return r;let i={truncated:!0,byteLength:n,maxBytes:Gn};return tr({...r,truncation:ur(n,[`data`]),data:i},n)}function er(e,t,n){return{...e,truncated:!0,truncation:ur(t,n.omitted),warnings:[...e.warnings,`response truncated (>50KB); ids/references preserved; read the section through its sub-resource operation, or request a smaller page or narrower server-side filter`],data:n.value}}function tr(e,t){if(rr(e))return e;let n=e.warnings.slice(0,-1),r=`response truncated (>50KB); metadata named in truncation.omitted was removed; read the section through its sub-resource operation, or request a smaller page or narrower server-side filter`,i=[`data`],a=e;if(a.problem!==void 0){let e=nr(a.problem);if(JSON.stringify(e).length<JSON.stringify(a.problem).length&&(i.push(`problem`),a={...a,problem:e,truncation:ur(t,i)},rr(a)))return a}if(i.push(...e.filters===void 0?[]:[`filters`],...e.omitted.length===0?[]:[`omitted`],...e.ids.length===0?[]:[`ids`],...Object.keys(e.counts).length===0?[]:[`counts`],...e.references.length===0?[]:[`references`]),a={...a,filters:void 0,truncation:ur(t,i),omitted:[],ids:[],counts:{},references:[],warnings:i.length===1?e.warnings:[...n,r]},rr(a))return a;let o=ir(a.summary,t),s=a.operationId===void 0?void 0:ir(a.operationId,t),c=a.method===void 0?void 0:ir(a.method,t),l=a.endpoint===void 0?void 0:ir(a.endpoint,t),u=a.warnings.map(e=>ir(e,t)),d=a.problem===void 0?void 0:nr(a.problem,t);if(o!==a.summary&&i.push(`summary`),s!==a.operationId&&i.push(`operationId`),c!==a.method&&i.push(`method`),l!==a.endpoint&&i.push(`endpoint`),u.some((e,t)=>e!==a.warnings[t])&&i.push(`warnings`),a.problem!==void 0&&d!==void 0&&JSON.stringify(d)!==JSON.stringify(a.problem)&&i.push(`problem`),a={...a,summary:o,...s===void 0?{}:{operationId:s},...c===void 0?{}:{method:c},...l===void 0?{}:{endpoint:l},truncation:ur(t,i),warnings:u,...d===void 0?{}:{problem:d}},rr(a))return a;i.push(`warnings`),a.page!==void 0&&i.push(`page`);let f=ir(a.summary,t,qn);return f!==a.summary&&i.push(`summary`),{ok:a.ok,summary:f,...a.httpStatus===void 0?{}:{httpStatus:a.httpStatus},...a.operationId===void 0?{}:{operationId:a.operationId},...a.method===void 0?{}:{method:a.method},...a.endpoint===void 0?{}:{endpoint:a.endpoint},...a.format===void 0?{}:{format:a.format},...a.count===void 0?{}:{count:a.count},truncated:!0,truncation:ur(t,i),omitted:[],ids:[],counts:{},references:[],warnings:[r],...a.problem===void 0?{}:{problem:a.problem},data:a.data}}function nr(e,t){let n=e=>t===void 0?e:ir(e,t);return{status:e.status,title:n(e.title),type:n(e.type),...e.detail===void 0?{}:{detail:n(e.detail)},...e.instance===void 0?{}:{instance:n(e.instance)},...e.code===void 0?{}:{code:e.code},...e.retryAfterSeconds===void 0?{}:{retryAfterSeconds:e.retryAfterSeconds}}}function rr(e){return ce.byteLength(JSON.stringify(e),`utf8`)<=Gn}function ir(e,t,n=Jn){if(ce.byteLength(JSON.stringify(e),`utf8`)<=n)return e;let r=fr(t),i=``,a=ce.byteLength(JSON.stringify(r),`utf8`);for(let t of e){let e=ce.byteLength(JSON.stringify(t),`utf8`)-2;if(a+e>n)break;i+=t,a+=e}return`${i.trimEnd()}${r}`}function ar(e,t,n){let r=Dn.safeParse(JSON.parse(JSON.stringify(e)));return r.success?or(r.data,`data`,t,n):{value:dr(t),omitted:[`data`]}}function or(e,t,n,r){if(typeof e==`string`){if(cr(pr(t))||e.length>Jn){let r=lr(e,n);return{value:r.value,omitted:r.wasTruncated?[t]:[]}}return{value:e,omitted:[]}}if(typeof e!=`object`||!e)return{value:e,omitted:[]};if(Array.isArray(e))return sr(e,t,n,r);let i={},a=[];for(let[o,s]of Object.entries(e)){let e=or(s,`${t}.${o}`,n,r);i[o]=e.value,a.push(...e.omitted)}return{value:i,omitted:a}}function sr(e,t,n,r){let i=e.slice(0,r),a=i.map((e,i)=>or(e,`${t}[${i}]`,n,r));return{value:a.map(e=>e.value),omitted:[...a.flatMap(e=>e.omitted),...e.length>i.length?[`${t}[${i.length}..]`]:[]]}}function cr(e){let t=e.toLowerCase();return Yn.test(t)||Xn.test(t)}function lr(e,t){return e.length<=qn?{value:e,wasTruncated:!1}:{value:`${e.slice(0,qn).trimEnd()}${fr(t)}`,wasTruncated:!0}}function ur(e,t){return{byteLength:e,maxBytes:Gn,omitted:t.length===0?[`data`]:[...new Set(t)],recovery:`Refetch a narrower result: use ids/references, a more specific list read (e.g. entities relationships list, entities people list, or entities news list), filters, or smaller pages with page and size.`}}function dr(e){return{truncated:!0,byteLength:e,maxBytes:Gn}}function fr(e){return`\n[truncated byteLength=${e} maxBytes=${Gn}]`}function pr(e){return(e.split(`.`).at(-1)??e).replace(/\[\d+\]$/,``)}function mr(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function hr(e,t){let n=e[t];return typeof n==`number`?n:void 0}function gr(e,t){let n=e[t];return typeof n==`boolean`?n:void 0}var _r={authToken:`AUTH_TOKEN`},vr=[_r.authToken],yr=`production`,br={production:{host:`api.aventure.vc`},local:{host:`localhost:8080`}};`${br.production.host}`;var xr=`https://aventure.vc`;function Sr(){let e=Or(process.env.API_URL)??Er(process.env.API_ENV)?.host??br.production?.host;if(e===void 0)throw Error(`Default API environment is unavailable`);return{host:e,userBearerToken:process.env[_r.authToken]}}function Cr(e){if(!e.userBearerToken)throw Error(`Sign in with \`auth login\`, or set ${_r.authToken} to an aVenture API key from ${xr}/settings/api-keys`);return{Authorization:`Bearer ${e.userBearerToken}`}}function wr(){return Object.keys(br)}function Tr(e){let t=e?.trim().toLowerCase();if(!t)return null;switch(t){case`dev`:case`development`:return`development`;case`stage`:case`staging`:return`staging`;case`prod`:case`production`:return`production`;case`localhost`:case`local`:return`local`;default:return null}}function Er(e){let t=Tr(e);if(t===null){if(!e?.trim())return null;throw Error(`Unknown aVenture environment '${e}'. Use one of: ${wr().join(`, `)}`)}let n=br[t];if(n===void 0)throw Error(`Environment '${t}' is unavailable in this distribution`);return n}function Dr(e){try{let t=Sr();return Y(`env ready`,e===`none`?{env:t,headers:{},credential:null}:{env:t,headers:Cr(t),credential:_r.authToken})}catch(e){return X(e.message)}}function Or(...e){return e.find(e=>e!==void 0&&e.trim().length>0)}var kr=8,Ar=le(import.meta.url),jr=`aventure-`,Mr=/^(?:aventure-|avctl(?:-|$))/u,Nr;function Pr(){return Nr??=Fr(Lr()),Nr}function Fr({manifest:e,manifestPath:t}){return`${Ir(zr(e,`name`,t))}/${zr(e,`version`,t)} (${process.platform}; ${process.arch}) Node.js/${process.versions.node}`}function Ir(e){let t=e.slice(e.lastIndexOf(`/`)+1);return Mr.test(t)?t:`${jr}${t}`}function Lr(e=Ar){let t;try{t=te(e)}catch(t){throw Vr(`cannot resolve ${e}`,t instanceof Error?t:void 0)}let n=R(t);for(let e=0;e<kr;e+=1){let e=B(n,`package.json`);if(ee(e))return{entryPath:t,manifest:Rr(e),manifestPath:e,packageRoot:n};let r=R(n);if(r===n)break;n=r}throw Vr(`no package.json found above ${e}`)}function Rr(e){let t;try{t=JSON.parse(H(e,`utf8`))}catch(t){throw Vr(`cannot parse ${e}`,t instanceof Error?t:void 0)}if(!Br(t))throw Vr(`${e} must contain a JSON object`);return t}function zr(e,t,n){let r=Reflect.get(e,t);if(typeof r!=`string`||r===``||r.trim()!==r)throw Vr(`${n} ${t} must be a non-empty, unpadded string`);return r}function Br(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Vr(e,t){return Error(`aventure package metadata: ${e}`,{cause:t})}var Hr=[],Ur=`@aventurevc/aventure-cli`,Wr=`@aventurevc/mcp-server`,Gr=`@aventurevc/avctl`,Kr=[Ur,Wr,Gr,`@aventurevc/avctl-mcp`];function qr(e){let{entryPath:t,manifest:n,manifestPath:r,packageRoot:i}=Lr(e);return Jr(n,r,i,t)}function Jr(e,t,n,r){let i=Reflect.get(e,`name`);if(!Yr(i))throw Vr(`${t} has unsupported package name ${String(i)}`);let a=zr(e,`version`,t),o=ee(B(n,`aventure-cli`,`index.ts`))?n:null,s=$r(Reflect.get(e,`bin`),`${t} bin`);return{bin:ei(Xr(e,t,n,r)??s,t),entryPath:r,name:i,packageRoot:n,registry:ti(e,t,o!==null),version:a,workingTreeRoot:o}}function Yr(e){return Kr.some(t=>t===e)}function Xr(e,t,n,r){let i=Reflect.get(e,`aventurePublish`);if(i===void 0)return;if(!Br(i))throw Vr(`${t} aventurePublish must be an object`);let a=Reflect.get(i,`variants`);if(!Br(a))throw Vr(`${t} aventurePublish.variants is required`);let o=new Set(r.slice(n.length).split(/[\\/]/u));for(let e of Object.keys(a)){let n=Zr(a,e,t),r=Reflect.get(n,`directory`);if(typeof r==`string`&&o.has(r))return Qr(n,e,t)}return Qr(Zr(a,`cli`,t),`cli`,t)}function Zr(e,t,n){let r=Reflect.get(e,t);if(!Br(r))throw Vr(`${n} aventurePublish.variants.${t} is required`);return r}function Qr(e,t,n){let r=$r(Reflect.get(e,`bin`),`${n} aventurePublish.variants.${t}.bin`);if(r===void 0)throw Vr(`${n} aventurePublish.variants.${t}.bin is required`);return r}function $r(e,t){if(e!==void 0){if(!Br(e))throw Vr(`${t} must be an object`);return Object.entries(e).map(([e,n])=>{if(typeof n!=`string`)throw Vr(`${t}.${e} must be a string`);return[e,n]})}}function ei(e,t){let[n,...r]=(e??[]).map(([e])=>e);if(n===void 0)throw Vr(`${t} defines no bin`);return[n,...r]}function ti(e,t,n){let r=Reflect.get(e,`publishConfig`);if(r===void 0){if(n)return``;throw Vr(`${t} publishConfig.registry is required outside a working tree`)}if(!Br(r))throw Vr(`${t} publishConfig must be an object`);let i=Reflect.get(r,`registry`);if(i!==``&&i!==`https://registry.npmjs.org/`)throw Vr(`${t} has unsupported publishConfig.registry ${String(i)}`);return i}function ni(){}var ri=[],ii=!(ne.includes(`--json`)||ne.includes(`--data`)||ne.includes(`--data-full`));function ai(e){ii=e}var oi={debug:10,info:20,warn:30,error:40,silent:50},si={debug:Te.DEBUG,info:Te.INFO,warn:Te.WARN,error:Te.ERROR},ci=RegExp(`\\b(${[...ri,`auth_token`].join(`|`)})(\\s*[:=]\\s*)(\\S+)`,`gi`),li=/\bAuthorization(\s*[:=]\s*)([^\r\n]+)/gi,ui=/\bBearer\s+[A-Za-z0-9._~+/=-]+/gi,di=`development`,fi=4,pi=`Unprintable thrown value`,mi,hi,gi=!1,_i;function vi(e){return e.replace(li,`Authorization$1***`).replace(ui,`Bearer ***`).replace(ci,(...e)=>{let[,t,n]=e;return`${t}${n}***`})}function yi(e){ji(`debug`,e)}function bi(e){ji(`info`,e)}function xi(e){ji(`warn`,e)}function Si(e){ji(`error`,e)}function Ci(e){return zi(e).message}function wi(e){let t=[],n,r,i=Di(Ei(e),`cause`);for(let e=0;e<fi&&i!=null;e++){let a=Ei(i),o=Oi(a,`name`)??typeof i,s=Ti(i),c=Oi(a,`message`)??ki(i);e===0&&(n=o,r=s),t.push(s===void 0?`${o}: ${c}`:`${o}(${s}): ${c}`),i=Di(a,`cause`)}return t.length===0?{}:{causeName:n,causeCode:r,causeChain:vi(t.join(` <- `))}}function Ti(e){let t=Di(e,`code`);return typeof t==`string`?t:void 0}function Ei(e){try{return e instanceof Error?e:void 0}catch{return}}function Di(e,t){if(typeof e==`object`&&e||typeof e==`function`)try{return Reflect.get(e,t)}catch{return}}function Oi(e,t){let n=Di(e,t);return typeof n==`string`?n:void 0}function ki(e){try{return String(e)}catch{return pi}}async function Ai(){let e=mi;if(e===void 0)return;mi=void 0,hi=void 0;let t=_i;_i=void 0,await t,await e.shutdown()}function ji(e,t){if(!Pi(e)&&!Ii(e))return;let n=t.message?vi(t.message):void 0,r=t.fields?Ri(t.fields):void 0,i=Object.hasOwn(t,`error`)?zi(t.error):void 0,a=e===`warn`||e===`error`;if((ii||a)&&Pi(e)){if(a&&!Fi())G.write(`${Mi(e,t,n,r,i)}\n`);else{let a={timestamp:new Date().toISOString(),level:e,component:t.component,event:t.event,...n?{message:n}:{},...r,...i?{error:i}:{}};G.write(`${JSON.stringify(a)}\n`)}}Ii(e)&&Bi(e,t.component,t.event,n,r,i)}function Mi(e,t,n,r,i){let a=r??{},o=[a.status,a.title].filter(e=>e!=null&&e!==``).map(String).join(` `),s=i===void 0?void 0:i.name?`${i.name}: ${i.message}`:i.message;return[`${e} ${t.component} ${t.event}`,o,typeof a.code==`string`?a.code:void 0,n,typeof a.detail==`string`?a.detail:void 0,s,typeof a.causeChain==`string`?a.causeChain:void 0,typeof a.traceId==`string`&&a.traceId.length>0?`traceId=${a.traceId}`:void 0].filter(e=>typeof e==`string`&&e.length>0).join(` | `)}function Ni(){let e=W.AVENTURE_LOG_LEVEL?.toLowerCase();return e===`debug`||e===`info`||e===`warn`||e===`error`||e===`silent`?e:W.VITEST?`silent`:`warn`}function Pi(e){return oi[e]>=oi[Ni()]}function Fi(){return oi[Ni()]<oi.warn}function Ii(e){return oi[e]>=oi[Li()]}function Li(){return Ni()===`debug`?`debug`:`info`}function Ri(e){let t={};for(let[n,r]of Object.entries(e))t[n]=typeof r==`string`?vi(r):r;return t}function zi(e){let t=Ei(e);if(t!==void 0){let e=Oi(t,`name`),n=Oi(t,`message`)??ki(t),r={...e?{name:vi(e)}:{},message:vi(n)},i=Oi(t,`stack`);return Ni()===`debug`&&i&&(r.stack=vi(i)),r}return{message:vi(ki(e))}}function Bi(e,t,n,r,i,a){let o=Vi();o!==void 0&&o.emit({severityNumber:Ji(e),severityText:e.toUpperCase(),body:r??n,attributes:{component:t,event:n,...Ki(i),...qi(a)}})}function Vi(){if(gi)return hi;gi=!0,qr().registry}function Hi(){let e=Wi()??Gi();return{"service.name":W.OTEL_SERVICE_NAME?.trim()||Ir(qr().name),"deployment.environment.name":Ui(),...e?{"cloud.platform":e}:{}}}function Ui(){let e=[...Hr.map(e=>W[e]),W.API_ENV,W.NODE_ENV];for(let t of e){let e=Tr(t);if(e!==null)return e}return di}function Wi(){let e=xn.detect().attributes?.[`cloud.platform`];if(typeof e!=`string`)return;let t=e.trim();if(t)return t}function Gi(){if(W.FLY_MACHINE_ID||W.FLY_APP_NAME)return`fly`}function Ki(e){let t={};for(let[n,r]of Object.entries(e??{}))r!=null&&(t[n]=r);return t}function qi(e){return e===void 0?{}:{...e.name?{"exception.type":e.name}:{},...e.message?{"exception.message":e.message}:{},...e.stack?{"exception.stacktrace":e.stack}:{}}}function Ji(e){return si[e]}var Yi=class extends Error{constructor(e,t){super(e),this.errorUri=t,this.name=this.constructor.name}toResponseObject(){let e={error:this.errorCode,error_description:this.message};return this.errorUri&&(e.error_uri=this.errorUri),e}get errorCode(){return this.constructor.errorCode}},Xi=class extends Yi{};Xi.errorCode=`invalid_request`;var Zi=class extends Yi{};Zi.errorCode=`invalid_client`;var Qi=class extends Yi{};Qi.errorCode=`invalid_grant`;var $i=class extends Yi{};$i.errorCode=`unauthorized_client`;var ea=class extends Yi{};ea.errorCode=`unsupported_grant_type`;var ta=class extends Yi{};ta.errorCode=`invalid_scope`;var na=class extends Yi{};na.errorCode=`access_denied`;var ra=class extends Yi{};ra.errorCode=`server_error`;var ia=class extends Yi{};ia.errorCode=`temporarily_unavailable`;var aa=class extends Yi{};aa.errorCode=`unsupported_response_type`;var oa=class extends Yi{};oa.errorCode=`unsupported_token_type`;var sa=class extends Yi{};sa.errorCode=`invalid_token`;var ca=class extends Yi{};ca.errorCode=`method_not_allowed`;var la=class extends Yi{};la.errorCode=`too_many_requests`;var ua=class extends Yi{};ua.errorCode=`invalid_client_metadata`;var da=class extends Yi{};da.errorCode=`insufficient_scope`;var fa=class extends Yi{};fa.errorCode=`invalid_target`;var pa={[Xi.errorCode]:Xi,[Zi.errorCode]:Zi,[Qi.errorCode]:Qi,[$i.errorCode]:$i,[ea.errorCode]:ea,[ta.errorCode]:ta,[na.errorCode]:na,[ra.errorCode]:ra,[ia.errorCode]:ia,[aa.errorCode]:aa,[oa.errorCode]:oa,[sa.errorCode]:sa,[ca.errorCode]:ca,[la.errorCode]:la,[ua.errorCode]:ua,[da.errorCode]:da,[fa.errorCode]:fa};new TextEncoder;var ma=new TextDecoder,ha=new TextDecoder(`utf-8`,{fatal:!0});function ga(e,t=!1){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e,{alphabet:t?`base64url`:`base64`});if(t){if(e.includes(`+`)||e.includes(`/`))throw TypeError(`Invalid base64url`);e=e.replace(/-/g,`+`).replace(/_/g,`/`)}let n=atob(e),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}var _a=class extends Error{static code=`ERR_JOSE_GENERIC`;code=`ERR_JOSE_GENERIC`;constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},va=class extends _a{static code=`ERR_JWT_INVALID`;code=`ERR_JWT_INVALID`},ya=`The input to be decoded is not correctly encoded.`;function ba(e){try{return ga(typeof e==`string`?e:ma.decode(e),!0)}catch(e){throw TypeError(ya,{cause:e})}}function xa(e){if(typeof e!=`object`||!e||Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||Object.getPrototypeOf(t)===null}function Sa(e,t,n){let r;try{r=JSON.parse(ha.decode(ba(e)))}catch{throw new t(n)}if(!xa(r))throw new t(n);return r}function Ca(e){let t;if(typeof e==`string`){let n=e.split(`.`);(n.length===3||n.length===5)&&([t]=n)}else if(typeof e==`object`&&e){if(`protected`in e)t=e.protected;else throw TypeError(`Token does not contain a Protected Header`)}let n=`Invalid Token or Protected Header formatting`;if(typeof t!=`string`||!t)throw TypeError(n);return Sa(t,TypeError,n)}function wa(e){if(typeof e!=`string`)throw new va(`JWTs must use Compact JWS serialization, JWT must be a string`);let{1:t,length:n}=e.split(`.`);if(n===5)throw new va(`Only JWTs using Compact JWS serialization can be decoded`);if(n!==3)throw new va(`Invalid JWT`);if(!t)throw new va(`JWTs must contain a payload`);let r;try{r=ba(t)}catch{throw new va(`Failed to base64url decode the payload`)}let i;try{i=JSON.parse(ha.decode(r))}catch{throw new va(`Failed to parse the decoded payload as JSON`)}if(!xa(i))throw new va(`Invalid JWT Claims Set`);return i}var Ta=new de,Ea=()=>Ta.getStore()?.requestId,Da=()=>Ta.getStore()?.userBearerToken;function Oa(e,t){return Ta.run({...Ta.getStore(),requestId:e},t)}function ka(e,t){return Ta.run({...Ta.getStore(),userBearerToken:e},t)}var Aa=3e4;async function ja(e,t,n,r){let i=Fa(Pa(e.requestBody?.content),n);if(!i.ok||i.data===null)return X(i.summary,i.warnings);let a=i.data;return e.requestBody?.required===!0&&t===void 0&&a?.kind!==`multipart`?X(`Request body is required.`):a?.kind===`multipart`?await La(e.requestBody?.required===!0,a.schema,t):Y(`Request body prepared`,{body:t,contentType:a?.contentType??r})}function Ma(e){if(typeof e!=`string`)return Y(`Request body unchanged`,e);let t=e.trimStart().slice(0,1);if(t!==`{`&&t!==`[`)return Y(`Request body unchanged`,e);try{let t=Dn.safeParse(JSON.parse(e));if(!t.success)throw t.error;return Y(`Request body parsed`,t.data)}catch(e){return X(`Request body string must be valid JSON: ${e.message}`)}}function Na(e,t){let n=e?.schema;if(n===void 0)return!1;let r=n.$ref?.startsWith(`#/components/schemas/`)===!0?n.$ref.slice(21):void 0,i=n.type??(r===void 0?void 0:t[r]?.type);return Array.isArray(i)?i.includes(`array`):i===`array`}function Pa(e){let t=Object.entries(e??{});return[...t.flatMap(e=>Ya(e[0])?[Ia(e,`json`)]:[]),...t.flatMap(e=>Xa(e[0])?[Ia(e,`multipart`)]:[])]}function Fa(e,t){if(t===void 0)return Y(`Default request content selected`,e[0]);let n=Za(t),r=e.find(e=>Za(e.contentType)===n);return r===void 0?X(`Request Content-Type '${t}' is not supported. Supported choices: ${e.map(({contentType:e})=>e).join(`, `)||`none`}.`):Y(`Explicit request content selected`,r)}function Ia(e,t){return{contentType:e[0],kind:t,schema:e[1].schema}}async function La(e,t,n){if(!e&&n==null)return Y(`Optional multipart body omitted`,{});let r=Ra(n);if(!r.ok||r.data===null)return X(r.summary,r.warnings);let i=new FormData;for(let e of za(t)){let t=r.data[e.name];if(t==null){if(e.required)return X(`Multipart body requires '${e.name}'.`);continue}if(Array.isArray(t)&&t.length<(e.schema.minItems??0))return X(`Multipart part '${e.name}' requires more entries.`);if(Array.isArray(t)&&t.length>(e.schema.maxItems??2**53-1))return X(`Multipart part '${e.name}' has too many entries.`);if(Ba(e.schema)||Va(e.schema)){let n=Va(e.schema)?t:[t];if(!Array.isArray(n)||n.some(e=>typeof e!=`string`))return X(`Multipart part '${e.name}' must contain file paths or URLs.`);for(let t of n){if(typeof t!=`string`)continue;let n=await Wa(t);if(!n.ok||n.data===null)return X(n.summary,n.warnings);i.append(e.name,n.data.blob,n.data.filename)}}else if(Ha(e.schema,t)){let n=JSON.stringify(t);i.append(e.name,new Blob([n],{type:`application/json`}),`${e.name}.json`)}else{let n=Ua(i,e.name,t);if(!n.ok)return n}}return Y(`Multipart body prepared`,{body:i})}function Ra(e){return typeof e==`object`&&e&&!Array.isArray(e)?Y(`Multipart input parsed`,Object.fromEntries(Object.entries(e))):X(`Multipart request body must be a JSON object keyed by form part name.`)}function za(e){let t=new Set(e?.required??[]);return Object.entries(e?.properties??{}).map(([e,n])=>({name:e,schema:n,required:t.has(e)}))}function Ba(e){return e.type===`string`&&e.format===`binary`}function Va(e){return e.type===`array`&&e.items!==void 0&&Ba(e.items)}function Ha(e,t){return typeof t!=`object`||!t||Array.isArray(t)?!1:e.type===`object`||typeof e.$ref==`string`&&e.$ref.length>0}function Ua(e,t,n){if(Array.isArray(n)){for(let r of n){let n=Ua(e,t,r);if(!n.ok)return n}return Y(`Multipart scalar array appended`,null)}return typeof n==`object`?X(`Multipart part '${t}' must be scalar.`):(e.append(t,String(n)),Y(`Multipart scalar appended`,null))}async function Wa(e){return qa(e)?await Ga(e):Ea()===void 0?await Ka(e):X(`MCP callers cannot upload local files: pass an http(s) URL as the multipart part, or send media by sourceUrl in a JSON body. Local file paths are CLI-only.`)}async function Ga(e){let t=new AbortController,n=setTimeout(()=>t.abort(),Aa);try{let n=new URL(e),r=await fetch(e,{signal:t.signal});if(!r.ok)return X(`Failed to fetch media URL: ${r.status} ${r.statusText}`);let i=r.headers.get(`content-type`)?.split(`;`)[0]?.trim()??Ja(n.pathname)??``;return Y(`URL media fetched`,{blob:new Blob([await r.arrayBuffer()],{type:i}),filename:L(n.pathname)||`upload`})}catch(e){return t.signal.aborted?X(`Failed to fetch media URL: timed out after ${Aa}ms.`):X(`Failed to fetch media URL: ${e.message}`)}finally{clearTimeout(n)}}async function Ka(e){try{let t=Ja(e)??``,n=await ue(e);return Y(`File media read`,{blob:new Blob([n],{type:t}),filename:L(e)})}catch(t){return X(`Failed to read media file '${e}': ${t.message}`)}}function qa(e){return e.startsWith(`http://`)||e.startsWith(`https://`)}function Ja(e){return Qa[z(e).toLowerCase()]}function Ya(e){let t=Za(e);return t===`*/*`||t===`application/json`||t.endsWith(`+json`)}function Xa(e){return Za(e)===`multipart/form-data`}var Za=e=>e.split(`;`)[0]?.trim().toLowerCase()??``,Qa={".gif":`image/gif`,".heic":`image/heic`,".heif":`image/heif`,".jpeg":`image/jpeg`,".jpg":`image/jpeg`,".png":`image/png`,".webp":`image/webp`};Object.freeze({Address:{modulePath:`address/address`,schemaName:`AddressSchema`},AddressAssociation:{modulePath:`address/association`,schemaName:`AddressAssociationSchema`},AddressAssociationRole:{modulePath:`address/association-role`,schemaName:`AddressAssociationRoleSchema`},AddressCity:{modulePath:`address/city`,schemaName:`AddressCitySchema`},AddressCountry:{modulePath:`address/country`,schemaName:`AddressCountrySchema`},AddressState:{modulePath:`address/state`,schemaName:`AddressStateSchema`},AgentHelp:{modulePath:`agent/help`,schemaName:`AgentHelpSchema`},AgentHelpQuestion:{modulePath:`agent/help-question`,schemaName:`AgentHelpQuestionSchema`},AgentInstruction:{modulePath:`agent/instruction`,schemaName:`AgentInstructionSchema`},AgentInstructionDetail:{modulePath:`agent/instruction-detail`,schemaName:`AgentInstructionDetailSchema`},AgentInstructionKind:{modulePath:`agent/instruction-kind`,schemaName:`AgentInstructionKindSchema`},AgentInstructionManifest:{modulePath:`agent/instruction-manifest`,schemaName:`AgentInstructionManifestSchema`},AgentInstructionPointer:{modulePath:`agent/instruction-pointer`,schemaName:`AgentInstructionPointerSchema`},ApiKey:{modulePath:`api/key`,schemaName:`ApiKeySchema`},AuthClient:{modulePath:`auth/client`,schemaName:`AuthClientSchema`},AuthOperation:{modulePath:`auth/operation`,schemaName:`AuthOperationSchema`},AuthOperationAccess:{modulePath:`auth/operation-access`,schemaName:`AuthOperationAccessSchema`},AuthOperationAuthorization:{modulePath:`auth/operation-authorization`,schemaName:`AuthOperationAuthorizationSchema`},AuthOperationFilter:{modulePath:`auth/operation-filter`,schemaName:`AuthOperationFilterSchema`},AuthOperationMethod:{modulePath:`auth/operation-method`,schemaName:`AuthOperationMethodSchema`},AuthPermissionGrant:{modulePath:`auth/permission-grant`,schemaName:`AuthPermissionGrantSchema`},AuthProviderCatalog:{modulePath:`auth/provider-catalog`,schemaName:`AuthProviderCatalogSchema`},BillingAdditionalUsage:{modulePath:`billing/additional-usage`,schemaName:`BillingAdditionalUsageSchema`},BillingAdditionalUsageFundingType:{modulePath:`billing/additional-usage-funding-type`,schemaName:`BillingAdditionalUsageFundingTypeSchema`},BillingAdditionalUsageMeter:{modulePath:`billing/additional-usage-meter`,schemaName:`BillingAdditionalUsageMeterSchema`},BillingAdditionalUsageType:{modulePath:`billing/additional-usage-type`,schemaName:`BillingAdditionalUsageTypeSchema`},BillingCatalog:{modulePath:`billing/catalog`,schemaName:`BillingCatalogSchema`},BillingCatalogAdditionalUsage:{modulePath:`billing/catalog-additional-usage`,schemaName:`BillingCatalogAdditionalUsageSchema`},BillingCatalogAllowance:{modulePath:`billing/catalog-allowance`,schemaName:`BillingCatalogAllowanceSchema`},BillingCatalogCreditPack:{modulePath:`billing/catalog-credit-pack`,schemaName:`BillingCatalogCreditPackSchema`},BillingCatalogPlan:{modulePath:`billing/catalog-plan`,schemaName:`BillingCatalogPlanSchema`},BillingCatalogTier:{modulePath:`billing/catalog-tier`,schemaName:`BillingCatalogTierSchema`},BillingCheckout:{modulePath:`billing/checkout`,schemaName:`BillingCheckoutSchema`},BillingCheckoutMutation:{modulePath:`billing/checkout-mutation`,schemaName:`BillingCheckoutMutationSchema`},BillingCheckoutUiMode:{modulePath:`billing/checkout-ui-mode`,schemaName:`BillingCheckoutUiModeSchema`},BillingCreditPackType:{modulePath:`billing/credit-pack-type`,schemaName:`BillingCreditPackTypeSchema`},BillingPaymentMethod:{modulePath:`billing/payment-method`,schemaName:`BillingPaymentMethodSchema`},BillingPlanChange:{modulePath:`billing/plan-change`,schemaName:`BillingPlanChangeSchema`},BillingPlanChangeMutation:{modulePath:`billing/plan-change-mutation`,schemaName:`BillingPlanChangeMutationSchema`},BillingPlanChangePreview:{modulePath:`billing/plan-change-preview`,schemaName:`BillingPlanChangePreviewSchema`},BillingPlanType:{modulePath:`billing/plan-type`,schemaName:`BillingPlanTypeSchema`},BillingPortal:{modulePath:`billing/portal`,schemaName:`BillingPortalSchema`},BillingRecurringPrice:{modulePath:`billing/recurring-price`,schemaName:`BillingRecurringPriceSchema`},BillingSubscription:{modulePath:`billing/subscription`,schemaName:`BillingSubscriptionSchema`},BlogPost:{modulePath:`blog/post`,schemaName:`BlogPostSchema`},BlogPostType:{modulePath:`blog/post-type`,schemaName:`BlogPostTypeSchema`},ChartBucket:{modulePath:`chart/bucket`,schemaName:`ChartBucketSchema`},Classification:{modulePath:`classification/classification`,schemaName:`ClassificationSchema`},ClassificationCatalog:{modulePath:`classification/catalog`,schemaName:`ClassificationCatalogSchema`},ClassificationCatalogBucket:{modulePath:`classification/catalog-bucket`,schemaName:`ClassificationCatalogBucketSchema`},ClassificationCatalogCategory:{modulePath:`classification/catalog-category`,schemaName:`ClassificationCatalogCategorySchema`},ClassificationInactiveTagDetails:{modulePath:`classification/inactive-tag-details`,schemaName:`ClassificationInactiveTagDetailsSchema`},CliAuthorization:{modulePath:`cli/authorization`,schemaName:`CliAuthorizationSchema`},CliAuthorizationClientPlatform:{modulePath:`cli/authorization-client-platform`,schemaName:`CliAuthorizationClientPlatformSchema`},CliAuthorizationDelivery:{modulePath:`cli/authorization-delivery`,schemaName:`CliAuthorizationDeliverySchema`},CliAuthorizationEncryptionAlgorithm:{modulePath:`cli/authorization-encryption-algorithm`,schemaName:`CliAuthorizationEncryptionAlgorithmSchema`},CliAuthorizationMutation:{modulePath:`cli/authorization-mutation`,schemaName:`CliAuthorizationMutationSchema`},CliAuthorizationPoll:{modulePath:`cli/authorization-poll`,schemaName:`CliAuthorizationPollSchema`},CliAuthorizationStart:{modulePath:`cli/authorization-start`,schemaName:`CliAuthorizationStartSchema`},CliAuthorizationStatus:{modulePath:`cli/authorization-status`,schemaName:`CliAuthorizationStatusSchema`},CliAuthorizationTerminalReason:{modulePath:`cli/authorization-terminal-reason`,schemaName:`CliAuthorizationTerminalReasonSchema`},Confidence:{modulePath:`confidence/confidence`,schemaName:`ConfidenceSchema`},ContentCompliance:{modulePath:`content/compliance`,schemaName:`ContentComplianceSchema`},ContentEmbeddingMatch:{modulePath:`content/embedding-match`,schemaName:`ContentEmbeddingMatchSchema`},ContentSourceType:{modulePath:`content/source-type`,schemaName:`ContentSourceTypeSchema`},CurrentSlugOwner:{modulePath:`redirect/current-slug-owner`,schemaName:`CurrentSlugOwnerSchema`},DatasourceSourceMetadata:{modulePath:`datasource/source-metadata`,schemaName:`DatasourceSourceMetadataSchema`},DecimalRange:{modulePath:`decimal/range`,schemaName:`DecimalRangeSchema`},DomainConflictDetails:{modulePath:`domain/conflict-details`,schemaName:`DomainConflictDetailsSchema`},DuplicateCreateReview:{modulePath:`duplicate/create-review`,schemaName:`DuplicateCreateReviewSchema`},EmployeeCount:{modulePath:`employee/count`,schemaName:`EmployeeCountSchema`},Enrichment:{modulePath:`enrichment/enrichment`,schemaName:`EnrichmentSchema`},EnrichmentBatch:{modulePath:`enrichment/batch`,schemaName:`EnrichmentBatchSchema`},EnrichmentMode:{modulePath:`enrichment/mode`,schemaName:`EnrichmentModeSchema`},EnrichmentRefusalType:{modulePath:`enrichment/refusal-type`,schemaName:`EnrichmentRefusalTypeSchema`},Entity:{modulePath:`entity/entity`,schemaName:`EntitySchema`},EntityAcceleratorParticipation:{modulePath:`entity/accelerator-participation`,schemaName:`EntityAcceleratorParticipationSchema`},EntityAcquisition:{modulePath:`entity/acquisition`,schemaName:`EntityAcquisitionSchema`},EntityAcquisitionEvidence:{modulePath:`entity/acquisition-evidence`,schemaName:`EntityAcquisitionEvidenceSchema`},EntityAcquisitionRole:{modulePath:`entity/acquisition-role`,schemaName:`EntityAcquisitionRoleSchema`},EntityAcquisitionStage:{modulePath:`entity/acquisition-stage`,schemaName:`EntityAcquisitionStageSchema`},EntityAliasType:{modulePath:`entity/alias-type`,schemaName:`EntityAliasTypeSchema`},EntityClassification:{modulePath:`entity/classification`,schemaName:`EntityClassificationSchema`},EntityClassificationInactiveTagOverride:{modulePath:`entity/classification-inactive-tag-override`,schemaName:`EntityClassificationInactiveTagOverrideSchema`},EntityClassificationSuggestion:{modulePath:`entity/classification-suggestion`,schemaName:`EntityClassificationSuggestionSchema`},EntityComparisonSignals:{modulePath:`entity/comparison-signals`,schemaName:`EntityComparisonSignalsSchema`},EntityDetail:{modulePath:`entity/detail`,schemaName:`EntityDetailSchema`},EntityDetailBatch:{modulePath:`entity/detail-batch`,schemaName:`EntityDetailBatchSchema`},EntityEnrichment:{modulePath:`entity/enrichment`,schemaName:`EntityEnrichmentSchema`},EntityFilter:{modulePath:`entity/filter`,schemaName:`EntityFilterSchema`},EntityFilterChoice:{modulePath:`entity/filter-choice`,schemaName:`EntityFilterChoiceSchema`},EntityFilterControlType:{modulePath:`entity/filter-control-type`,schemaName:`EntityFilterControlTypeSchema`},EntityFilterEntry:{modulePath:`entity/filter-entry`,schemaName:`EntityFilterEntrySchema`},EntityFilterHeadquartersCountry:{modulePath:`entity/filter-headquarters-country`,schemaName:`EntityFilterHeadquartersCountrySchema`},EntityFilterHeadquartersOptionSet:{modulePath:`entity/filter-headquarters-option-set`,schemaName:`EntityFilterHeadquartersOptionSetSchema`},EntityFilterHeadquartersStateCity:{modulePath:`entity/filter-headquarters-state-city`,schemaName:`EntityFilterHeadquartersStateCitySchema`},EntityFilterLogoOption:{modulePath:`entity/filter-logo-option`,schemaName:`EntityFilterLogoOptionSchema`},EntityFilterMeta:{modulePath:`entity/filter-meta`,schemaName:`EntityFilterMetaSchema`},EntityFilterOptionMode:{modulePath:`entity/filter-option-mode`,schemaName:`EntityFilterOptionModeSchema`},EntityFilterOptionSet:{modulePath:`entity/filter-option-set`,schemaName:`EntityFilterOptionSetSchema`},EntityFilterOptionSetMeta:{modulePath:`entity/filter-option-set-meta`,schemaName:`EntityFilterOptionSetMetaSchema`},EntityFilterRefinedFilters:{modulePath:`entity/filter-refined-filters`,schemaName:`EntityFilterRefinedFiltersSchema`},EntityFilterScope:{modulePath:`entity/filter-scope`,schemaName:`EntityFilterScopeSchema`},EntityFilterSearch:{modulePath:`entity/filter-search`,schemaName:`EntityFilterSearchSchema`},EntityFilterSearchResult:{modulePath:`entity/filter-search-result`,schemaName:`EntityFilterSearchResultSchema`},EntityFilterUiMeta:{modulePath:`entity/filter-ui-meta`,schemaName:`EntityFilterUiMetaSchema`},EntityFundingDetail:{modulePath:`entity/funding-detail`,schemaName:`EntityFundingDetailSchema`},EntityFundraise:{modulePath:`entity/fundraise`,schemaName:`EntityFundraiseSchema`},EntityFundraiseFilterCriteria:{modulePath:`entity/fundraise-filter-criteria`,schemaName:`EntityFundraiseFilterCriteriaSchema`},EntityFundraiseInvestorActivity:{modulePath:`entity/fundraise-investor-activity`,schemaName:`EntityFundraiseInvestorActivitySchema`},EntityFundraiseInvestorJoin:{modulePath:`entity/fundraise-investor-join`,schemaName:`EntityFundraiseInvestorJoinSchema`},EntityFundraiseTransaction:{modulePath:`entity/fundraise-transaction`,schemaName:`EntityFundraiseTransactionSchema`},EntityFundraiseTransactionEntity:{modulePath:`entity/fundraise-transaction-entity`,schemaName:`EntityFundraiseTransactionEntitySchema`},EntityImage:{modulePath:`entity/image`,schemaName:`EntityImageSchema`},EntityInvestorParticipation:{modulePath:`entity/investor-participation`,schemaName:`EntityInvestorParticipationSchema`},EntityList:{modulePath:`entity/list`,schemaName:`EntityListSchema`},EntityListFilter:{modulePath:`entity/list-filter`,schemaName:`EntityListFilterSchema`},EntityListQualityGate:{modulePath:`entity/list-quality-gate`,schemaName:`EntityListQualityGateSchema`},EntityListResearch:{modulePath:`entity/list-research`,schemaName:`EntityListResearchSchema`},EntityLogoType:{modulePath:`entity/logo-type`,schemaName:`EntityLogoTypeSchema`},EntityNameAliasEntityAliasType:{modulePath:`entity/name-alias-entity-alias-type`,schemaName:`EntityNameAliasEntityAliasTypeSchema`},EntityNameAliasPersonAliasType:{modulePath:`entity/name-alias-person-alias-type`,schemaName:`EntityNameAliasPersonAliasTypeSchema`},EntityNaturalSearch:{modulePath:`entity/natural-search`,schemaName:`EntityNaturalSearchSchema`},EntityOperatingStatus:{modulePath:`entity/operating-status`,schemaName:`EntityOperatingStatusSchema`},EntityPersonAssociation:{modulePath:`entity/person-association`,schemaName:`EntityPersonAssociationSchema`},EntityPersonOwner:{modulePath:`entity/person-owner`,schemaName:`EntityPersonOwnerSchema`},EntityRelationship:{modulePath:`entity/relationship`,schemaName:`EntityRelationshipSchema`},EntityRelationshipTypeOption:{modulePath:`entity/relationship-type-option`,schemaName:`EntityRelationshipTypeOptionSchema`},EntityResearch:{modulePath:`entity/research`,schemaName:`EntityResearchSchema`},EntityResearchDetail:{modulePath:`entity/research-detail`,schemaName:`EntityResearchDetailSchema`},EntityResearchFactValue:{modulePath:`entity/research-fact-value`,schemaName:`EntityResearchFactValueSchema`},EntityResearchSnippet:{modulePath:`entity/research-snippet`,schemaName:`EntityResearchSnippetSchema`},EntityResearchValueType:{modulePath:`entity/research-value-type`,schemaName:`EntityResearchValueTypeSchema`},EntityResolution:{modulePath:`entity/resolution`,schemaName:`EntityResolutionSchema`},EntitySimilarityContext:{modulePath:`entity/similarity-context`,schemaName:`EntitySimilarityContextSchema`},EntitySimilarityOrigin:{modulePath:`entity/similarity-origin`,schemaName:`EntitySimilarityOriginSchema`},EntitySimilarityResult:{modulePath:`entity/similarity-result`,schemaName:`EntitySimilarityResultSchema`},EntitySimilaritySummary:{modulePath:`entity/similarity-summary`,schemaName:`EntitySimilaritySummarySchema`},EntitySitemap:{modulePath:`entity/sitemap`,schemaName:`EntitySitemapSchema`},EntityTag:{modulePath:`entity/tag`,schemaName:`EntityTagSchema`},EntityText:{modulePath:`entity/text`,schemaName:`EntityTextSchema`},EntityTextBundle:{modulePath:`entity/text-bundle`,schemaName:`EntityTextBundleSchema`},EntityType:{modulePath:`entity/type`,schemaName:`EntityTypeSchema`},EntityTypeAlias:{modulePath:`entity/type-alias`,schemaName:`EntityTypeAliasSchema`},EntityTypeGroup:{modulePath:`entity/type-group`,schemaName:`EntityTypeGroupSchema`},EntityTypeGroupMembership:{modulePath:`entity/type-group-membership`,schemaName:`EntityTypeGroupMembershipSchema`},EntityUrlCrawlCdnProvider:{modulePath:`entity/url-crawl-cdn-provider`,schemaName:`EntityUrlCrawlCdnProviderSchema`},EntityUrlCrawlRenderMode:{modulePath:`entity/url-crawl-render-mode`,schemaName:`EntityUrlCrawlRenderModeSchema`},EntityUrlLink:{modulePath:`entity/url-link`,schemaName:`EntityUrlLinkSchema`},EntityUrlType:{modulePath:`entity/url-type`,schemaName:`EntityUrlTypeSchema`},EntityValuationDataConfidence:{modulePath:`entity/valuation-data-confidence`,schemaName:`EntityValuationDataConfidenceSchema`},EntityValuationDerivation:{modulePath:`entity/valuation-derivation`,schemaName:`EntityValuationDerivationSchema`},EntityValuationSource:{modulePath:`entity/valuation-source`,schemaName:`EntityValuationSourceSchema`},EntityValuationTimeSeriesPoint:{modulePath:`entity/valuation-time-series-point`,schemaName:`EntityValuationTimeSeriesPointSchema`},FederatedSearch:{modulePath:`federated/search`,schemaName:`FederatedSearchSchema`},FederatedSearchProvenance:{modulePath:`federated/search-provenance`,schemaName:`FederatedSearchProvenanceSchema`},FundingStage:{modulePath:`funding/stage`,schemaName:`FundingStageSchema`},FundraiseDataConfidence:{modulePath:`fundraise/data-confidence`,schemaName:`FundraiseDataConfidenceSchema`},FundraiseFinancialInstrumentType:{modulePath:`fundraise/financial-instrument-type`,schemaName:`FundraiseFinancialInstrumentTypeSchema`},FundraiseInvestmentAttribution:{modulePath:`fundraise/investment-attribution`,schemaName:`FundraiseInvestmentAttributionSchema`},FundraiseInvestmentAttributionType:{modulePath:`fundraise/investment-attribution-type`,schemaName:`FundraiseInvestmentAttributionTypeSchema`},FundraiseTransactionStatus:{modulePath:`fundraise/transaction-status`,schemaName:`FundraiseTransactionStatusSchema`},GithubRepo:{modulePath:`github/repo`,schemaName:`GithubRepoSchema`},HarnessChassis:{modulePath:`harness/chassis`,schemaName:`HarnessChassisSchema`},HarnessLlmApi:{modulePath:`harness/llm-api`,schemaName:`HarnessLlmApiSchema`},HarnessRun:{modulePath:`harness/run`,schemaName:`HarnessRunSchema`},HarnessRunDetail:{modulePath:`harness/run-detail`,schemaName:`HarnessRunDetailSchema`},HarnessRunEnvironment:{modulePath:`harness/run-environment`,schemaName:`HarnessRunEnvironmentSchema`},HarnessRunLane:{modulePath:`harness/run-lane`,schemaName:`HarnessRunLaneSchema`},HarnessRunProgress:{modulePath:`harness/run-progress`,schemaName:`HarnessRunProgressSchema`},HarnessRunStatus:{modulePath:`harness/run-status`,schemaName:`HarnessRunStatusSchema`},HarnessRunType:{modulePath:`harness/run-type`,schemaName:`HarnessRunTypeSchema`},HelpCitation:{modulePath:`help/citation`,schemaName:`HelpCitationSchema`},HelpScope:{modulePath:`help/scope`,schemaName:`HelpScopeSchema`},HelpSourceType:{modulePath:`help/source-type`,schemaName:`HelpSourceTypeSchema`},Identification:{modulePath:`identification/identification`,schemaName:`IdentificationSchema`},IdentificationCandidate:{modulePath:`identification/candidate`,schemaName:`IdentificationCandidateSchema`},IdentificationSubject:{modulePath:`identification/subject`,schemaName:`IdentificationSubjectSchema`},IntRange:{modulePath:`int/range`,schemaName:`IntRangeSchema`},InvestorActivityFilter:{modulePath:`investor/activity-filter`,schemaName:`InvestorActivityFilterSchema`},JobEnqueue:{modulePath:`job/enqueue`,schemaName:`JobEnqueueSchema`},JobState:{modulePath:`job/state`,schemaName:`JobStateSchema`},JsonValue:{modulePath:`http/json-value`,schemaName:`JsonValueSchema`},LinkSearch:{modulePath:`link/search`,schemaName:`LinkSearchSchema`},LookupJob:{modulePath:`lookup/job`,schemaName:`LookupJobSchema`},LookupJobMention:{modulePath:`lookup/job-mention`,schemaName:`LookupJobMentionSchema`},LookupJobMutation:{modulePath:`lookup/job-mutation`,schemaName:`LookupJobMutationSchema`},MediaObjectType:{modulePath:`media/object-type`,schemaName:`MediaObjectTypeSchema`},MediaSlot:{modulePath:`media/slot`,schemaName:`MediaSlotSchema`},MediaUpload:{modulePath:`media/upload`,schemaName:`MediaUploadSchema`},NaturalSearch:{modulePath:`natural/search`,schemaName:`NaturalSearchSchema`},NaturalSearchResult:{modulePath:`natural/search-result`,schemaName:`NaturalSearchResultSchema`},News:{modulePath:`news/news`,schemaName:`NewsSchema`},NewsCandidateScore:{modulePath:`news/candidate-score`,schemaName:`NewsCandidateScoreSchema`},NewsDetail:{modulePath:`news/detail`,schemaName:`NewsDetailSchema`},NewsFeedback:{modulePath:`news/feedback`,schemaName:`NewsFeedbackSchema`},NewsFeedbackAcknowledgement:{modulePath:`news/feedback-acknowledgement`,schemaName:`NewsFeedbackAcknowledgementSchema`},NewsMatchStatus:{modulePath:`news/match-status`,schemaName:`NewsMatchStatusSchema`},NewsResolvedEntityLink:{modulePath:`news/resolved-entity-link`,schemaName:`NewsResolvedEntityLinkSchema`},NewsResolvedPersonLink:{modulePath:`news/resolved-person-link`,schemaName:`NewsResolvedPersonLinkSchema`},NewsSourceUrlConflict:{modulePath:`news/source-url-conflict`,schemaName:`NewsSourceUrlConflictSchema`},PageableObject:{modulePath:`pageable/object`,schemaName:`PageableObjectSchema`},PageBlogPost:{modulePath:`pagination/schemas`,schemaName:`PageBlogPostSchema`},PageClassification:{modulePath:`pagination/schemas`,schemaName:`PageClassificationSchema`},PageEmployeeCount:{modulePath:`pagination/schemas`,schemaName:`PageEmployeeCountSchema`},PageEntity:{modulePath:`pagination/schemas`,schemaName:`PageEntitySchema`},PageEntityAcquisition:{modulePath:`pagination/schemas`,schemaName:`PageEntityAcquisitionSchema`},PageEntityDetail:{modulePath:`pagination/schemas`,schemaName:`PageEntityDetailSchema`},PageEntityFundraiseInvestorJoin:{modulePath:`pagination/schemas`,schemaName:`PageEntityFundraiseInvestorJoinSchema`},PageEntityFundraiseTransaction:{modulePath:`pagination/schemas`,schemaName:`PageEntityFundraiseTransactionSchema`},PageEntityInvestorParticipation:{modulePath:`pagination/schemas`,schemaName:`PageEntityInvestorParticipationSchema`},PageEntityList:{modulePath:`pagination/schemas`,schemaName:`PageEntityListSchema`},PageEntityPersonAssociation:{modulePath:`pagination/schemas`,schemaName:`PageEntityPersonAssociationSchema`},PageEntityRelationship:{modulePath:`pagination/schemas`,schemaName:`PageEntityRelationshipSchema`},PageEntityResearchDetail:{modulePath:`pagination/schemas`,schemaName:`PageEntityResearchDetailSchema`},PageEntityResearchSnippet:{modulePath:`pagination/schemas`,schemaName:`PageEntityResearchSnippetSchema`},PageEntitySimilarityResult:{modulePath:`pagination/schemas`,schemaName:`PageEntitySimilarityResultSchema`},PageEntitySimilaritySummary:{modulePath:`pagination/schemas`,schemaName:`PageEntitySimilaritySummarySchema`},PageEntityText:{modulePath:`pagination/schemas`,schemaName:`PageEntityTextSchema`},PageEntityUrlLink:{modulePath:`pagination/schemas`,schemaName:`PageEntityUrlLinkSchema`},PageEntityValuationTimeSeriesPoint:{modulePath:`pagination/schemas`,schemaName:`PageEntityValuationTimeSeriesPointSchema`},PageGithubRepo:{modulePath:`pagination/schemas`,schemaName:`PageGithubRepoSchema`},PageNews:{modulePath:`pagination/schemas`,schemaName:`PageNewsSchema`},PagePerson:{modulePath:`pagination/schemas`,schemaName:`PagePersonSchema`},PagePersonDetail:{modulePath:`pagination/schemas`,schemaName:`PagePersonDetailSchema`},PagePersonInvestment:{modulePath:`pagination/schemas`,schemaName:`PagePersonInvestmentSchema`},PagePersonInvestorParticipation:{modulePath:`pagination/schemas`,schemaName:`PagePersonInvestorParticipationSchema`},PagePersonSimilarityResult:{modulePath:`pagination/schemas`,schemaName:`PagePersonSimilarityResultSchema`},PagePublication:{modulePath:`pagination/schemas`,schemaName:`PagePublicationSchema`},PageResultEntityList:{modulePath:`pagination/schemas`,schemaName:`PageResultEntityListSchema`},PageResultNews:{modulePath:`pagination/schemas`,schemaName:`PageResultNewsSchema`},PageResultPerson:{modulePath:`pagination/schemas`,schemaName:`PageResultPersonSchema`},PageUniqueId:{modulePath:`pagination/schemas`,schemaName:`PageUniqueIdSchema`},Person:{modulePath:`person/person`,schemaName:`PersonSchema`},PersonAliasType:{modulePath:`person/alias-type`,schemaName:`PersonAliasTypeSchema`},PersonDetail:{modulePath:`person/detail`,schemaName:`PersonDetailSchema`},PersonEnrichment:{modulePath:`person/enrichment`,schemaName:`PersonEnrichmentSchema`},PersonFilter:{modulePath:`person/filter`,schemaName:`PersonFilterSchema`},PersonGraph:{modulePath:`person/graph`,schemaName:`PersonGraphSchema`},PersonGraphCareerContext:{modulePath:`person/graph-career-context`,schemaName:`PersonGraphCareerContextSchema`},PersonGraphCoInvestor:{modulePath:`person/graph-co-investor`,schemaName:`PersonGraphCoInvestorSchema`},PersonGraphMember:{modulePath:`person/graph-member`,schemaName:`PersonGraphMemberSchema`},PersonGraphSimilarEntity:{modulePath:`person/graph-similar-entity`,schemaName:`PersonGraphSimilarEntitySchema`},PersonImage:{modulePath:`person/image`,schemaName:`PersonImageSchema`},PersonInvestedCompany:{modulePath:`person/invested-company`,schemaName:`PersonInvestedCompanySchema`},PersonInvestment:{modulePath:`person/investment`,schemaName:`PersonInvestmentSchema`},PersonInvestorParticipation:{modulePath:`person/investor-participation`,schemaName:`PersonInvestorParticipationSchema`},PersonListArrayFilter:{modulePath:`person/list-array-filter`,schemaName:`PersonListArrayFilterSchema`},PersonLookupBatch:{modulePath:`person/lookup-batch`,schemaName:`PersonLookupBatchSchema`},PersonNaturalSearch:{modulePath:`person/natural-search`,schemaName:`PersonNaturalSearchSchema`},PersonNaturalSearchResult:{modulePath:`person/natural-search-result`,schemaName:`PersonNaturalSearchResultSchema`},PersonSearchInterpretation:{modulePath:`person/search-interpretation`,schemaName:`PersonSearchInterpretationSchema`},PersonSimilarityContext:{modulePath:`person/similarity-context`,schemaName:`PersonSimilarityContextSchema`},PersonSimilarityOrigin:{modulePath:`person/similarity-origin`,schemaName:`PersonSimilarityOriginSchema`},PersonSimilarityResult:{modulePath:`person/similarity-result`,schemaName:`PersonSimilarityResultSchema`},ProblemDetail:{modulePath:`http/problem-detail`,schemaName:`ProblemDetailSchema`},ProblemResolution:{modulePath:`problem/resolution`,schemaName:`ProblemResolutionSchema`},ProblemType:{modulePath:`problem/type`,schemaName:`ProblemTypeSchema`},Publication:{modulePath:`publication/publication`,schemaName:`PublicationSchema`},PublicationFacet:{modulePath:`publication/facet`,schemaName:`PublicationFacetSchema`},PublicationRelation:{modulePath:`publication/relation`,schemaName:`PublicationRelationSchema`},PublicationType:{modulePath:`publication/type`,schemaName:`PublicationTypeSchema`},RedirectSlugPath:{modulePath:`redirect/redirect-slug-path`,schemaName:`RedirectSlugPathSchema`},RefinementMeta:{modulePath:`refinement/meta`,schemaName:`RefinementMetaSchema`},RelationshipDirection:{modulePath:`relationship/direction`,schemaName:`RelationshipDirectionSchema`},ResearchAllowance:{modulePath:`research/allowance`,schemaName:`ResearchAllowanceSchema`},ResearchAllowanceUsage:{modulePath:`research/allowance-usage`,schemaName:`ResearchAllowanceUsageSchema`},ResearchDerivedBucket:{modulePath:`research/derived-bucket`,schemaName:`ResearchDerivedBucketSchema`},ResearchDerivedRange:{modulePath:`research/derived-range`,schemaName:`ResearchDerivedRangeSchema`},ResearchDetailType:{modulePath:`research/detail-type`,schemaName:`ResearchDetailTypeSchema`},ResearchParagraphShape:{modulePath:`research/paragraph-shape`,schemaName:`ResearchParagraphShapeSchema`},ResearchSnippetType:{modulePath:`research/snippet-type`,schemaName:`ResearchSnippetTypeSchema`},ResearchValueRange:{modulePath:`research/value-range`,schemaName:`ResearchValueRangeSchema`},ResearchValueShapeType:{modulePath:`research/value-shape-type`,schemaName:`ResearchValueShapeTypeSchema`},ResolvedHandle:{modulePath:`resolved/handle`,schemaName:`ResolvedHandleSchema`},RoundLabel:{modulePath:`round/label`,schemaName:`RoundLabelSchema`},Search:{modulePath:`search/search`,schemaName:`SearchSchema`},SearchDuplicateCandidateScore:{modulePath:`search/duplicate-candidate-score`,schemaName:`SearchDuplicateCandidateScoreSchema`},SearchHit:{modulePath:`search/hit`,schemaName:`SearchHitSchema`},SearchInterpretation:{modulePath:`search/interpretation`,schemaName:`SearchInterpretationSchema`},SearchMode:{modulePath:`search/mode`,schemaName:`SearchModeSchema`},SearchModeExecution:{modulePath:`search/mode-execution`,schemaName:`SearchModeExecutionSchema`},SearchOrderingEntityFilterSortable:{modulePath:`search/ordering-entity-filter-sortable`,schemaName:`SearchOrderingEntityFilterSortableSchema`},SearchOrderingPersonSortField:{modulePath:`search/ordering-person-sort-field`,schemaName:`SearchOrderingPersonSortFieldSchema`},SearchRelevance:{modulePath:`search/relevance`,schemaName:`SearchRelevanceSchema`},SecCompany:{modulePath:`sec/company`,schemaName:`SecCompanySchema`},SlugLocation:{modulePath:`slug/location`,schemaName:`SlugLocationSchema`},SlugResource:{modulePath:`redirect/slug-resource`,schemaName:`SlugResourceSchema`},SortObject:{modulePath:`sort/object`,schemaName:`SortObjectSchema`},SortOrderEntityFilterSortable:{modulePath:`sort/order-entity-filter-sortable`,schemaName:`SortOrderEntityFilterSortableSchema`},SortOrderPersonSortField:{modulePath:`sort/order-person-sort-field`,schemaName:`SortOrderPersonSortFieldSchema`},SourceDocumentList:{modulePath:`source/document-list`,schemaName:`SourceDocumentListSchema`},StageFrequency:{modulePath:`stage/frequency`,schemaName:`StageFrequencySchema`},StandardizedClassification:{modulePath:`standardized/classification`,schemaName:`StandardizedClassificationSchema`},StrictUrlLookupConflict:{modulePath:`strict/url-lookup-conflict`,schemaName:`StrictUrlLookupConflictSchema`},SystemBuild:{modulePath:`system/system-build`,schemaName:`SystemBuildSchema`},SystemBuildDetail:{modulePath:`system/system-build-detail`,schemaName:`SystemBuildDetailSchema`},SystemGlobalMetrics:{modulePath:`system/global-metrics`,schemaName:`SystemGlobalMetricsSchema`},SystemStatus:{modulePath:`system/status`,schemaName:`SystemStatusSchema`},TextTypeOption:{modulePath:`text/type-option`,schemaName:`TextTypeOptionSchema`},UniqueId:{modulePath:`unique/id`,schemaName:`UniqueIdSchema`},UniqueIdOwnerScope:{modulePath:`unique/id-owner-scope`,schemaName:`UniqueIdOwnerScopeSchema`},UniqueIdType:{modulePath:`unique/id-type`,schemaName:`UniqueIdTypeSchema`},UniqueIdTypeAlias:{modulePath:`unique/id-type-alias`,schemaName:`UniqueIdTypeAliasSchema`},Uptime:{modulePath:`uptime/uptime`,schemaName:`UptimeSchema`},UrlDuplicateConflict:{modulePath:`url/duplicate-conflict`,schemaName:`UrlDuplicateConflictSchema`},UrlDuplicateJoin:{modulePath:`url/duplicate-join`,schemaName:`UrlDuplicateJoinSchema`},UrlMatchMode:{modulePath:`url/match-mode`,schemaName:`UrlMatchModeSchema`},UrlTypeAlias:{modulePath:`url/type-alias`,schemaName:`UrlTypeAliasSchema`},ValuationType:{modulePath:`valuation/type`,schemaName:`ValuationTypeSchema`},WebSearch:{modulePath:`web/search`,schemaName:`WebSearchSchema`}});function $a(e){return e===`write`||e===`delete`}var eo=`Shell-safe input: single-quote string flag values that contain $; use --from-file or stdin for JSON bodies, multiline text, and free text with currency amounts.`;function to(e,t,n){return no(t,n)?`'${e.replaceAll(`'`,`'\\''`)}'`:e}function no(e,t){let n=e===`array`?t:e;return n===void 0||n===`string`}function ro(e){let t=Object.entries(e.responses).filter(([e])=>e.startsWith(`2`));return t.length>0&&t.every(([,e])=>Object.values(e.content??{}).some(e=>io(e.schema)))}function io(e){return e?.format===`byte`||e?.format===`binary`}function ao(e){return`aventure_${e}`}function oo(e){return e.replace(/([a-z0-9])([A-Z])/gu,`$1-$2`).replace(/[^A-Za-z0-9]+/gu,`-`).replace(/^-+|-+$/gu,``).toLowerCase()}var so=e=>`--${oo(e)}`,co=_([`READ`,`PERMISSION`,`ADMIN`]),lo=_([`GET`,`POST`,`PUT`,`PATCH`,`DELETE`]),uo=j({authorizationPath:u().max(2048),method:lo,operationId:u().max(128),path:u().max(2048)}),fo=j({permission:v(u()),role:v(u())}),po=j({operation:v(uo),operationAccess:co,permissionGrant:fo}),mo=e=>e>=500&&e<600,ho={openapi:`3.1.0`,info:{contact:{email:`team@aventure.vc`,name:`aVenture`},description:`aVenture is a shared research database covering privately held companies — their teams, products and services, fundraising rounds, investors, and related news. Every caller reads the same corpus; the records describe third-party organizations and are not the caller's own data. Reads are the normal use. Corpus writes exist only for credentialed curation callers, so do not offer to add, correct, or backfill records on a reader's behalf; report what the corpus holds and cite it. A signed-in caller's other writes act on their own account or request work: billing checkout, plan changes, and portal sessions, and entity or person enrichment runs. When a call answers 429 with code billing_allowance_exhausted, tell the caller which limit they reached, list plans with monthly and annual prices, and change the plan only after they confirm.`,title:`aVenture Public API Docs`,version:`0.8.10`},externalDocs:{description:`Documentation and GitHub repositories: [aventure-docs](https://github.com/aventurevc/aventure-docs), [aventure-cli](https://github.com/aventurevc/aventure-cli), [aventure-mcp](https://github.com/aventurevc/aventure-mcp).`,url:`https://docs.aventure.vc`},servers:[{url:`https://api.aventure.vc`,description:`aVenture API`}],tags:[{description:`External identifiers and the records they name. Covers EIN, SEC CIK, ticker, LEI, DUNS, and other mappings for companies and people, plus reverse lookup to the owner.`,name:`Identifiers`},{description:`A person's profile photo`,name:`Person Media`},{description:`Founders and investors, and what they back`,name:`People`},{description:`Enrichment agent runs, their session transcripts, and eligible models`,name:`Harness`},{description:`Service status, build version, and platform totals`,name:`System`},{description:`Relationships between companies, investors, and other organizations`,name:`Entity Relationships`},{description:`Classification tags on a company, and suggested tags`,name:`Entity Classifications`},{description:`Plans, prices, subscription, usage, and upgrades`,name:`Billing`},{description:`Platform help, versioned agent instructions, and agent runtime discovery`,name:`Agents`},{description:`Filter options for company listings: available values, refinement, and option search.`,name:`Entity Filters`},{description:`Search the entity classification tag catalog. Use this to look up tagId values before posting to /v1/entities/{id}/classifications.`,name:`Classification Tags`},{description:`A company's logo and other media slots`,name:`Entity Media`},{description:`Websites, social profiles, and other URLs for companies and people`,name:`URL Links`},{description:`The investments a person made, looked up by id or slug and sortable by date, round, or amount`,name:`Person Investments`},{description:`Similar companies and people, related entities, and trending news`,name:`Semantic Similarity`},{description:`External blog and article links for entities and people`,name:`Research Blog Posts`},{description:`A record's current slug, and slug changes that leave a permanent redirect`,name:`Record Slugs`},{description:`Company research: typed details and snippets, headcount, SEC facts, and completion coverage`,name:`Entity Research`},{description:`People linked to companies, and the role each one holds`,name:`Entity Person Associations`},{description:`Publications about one company or person, and platform-wide publication search`,name:`Publications`},{description:`Acquisitions a company made or was part of. The path entity is acquired; acquirerEntityId is the buyer.`,name:`Entity Acquisitions`},{description:`Identify every company and person an article names`,name:`Lookup jobs`},{description:`Similar companies and lean similar-company summaries by id`,name:`Entity Similar`},{description:`Search companies, people, and news, or by URL`,name:`Search`},{description:`A company's recorded office and headquarters addresses`,name:`Entity Addresses`},{description:`Filter options for people listings and option search`,name:`Person Metadata`},{description:`A person's recorded addresses`,name:`Person Addresses`},{description:`Funding rounds, their investors, and valuations for a company`,name:`Entity Fundraise`},{description:`Companies and funds: people, funding, and news`,name:`Entities`},{description:`A news article's thumbnail image`,name:`News Media`},{description:`Accepted record types, such as Company and Investment Firm`,name:`Entity Maintenance`},{description:`GitHub repositories synced per entity or person owner.`,name:`Repositories`},{description:`Descriptions and other written text for companies and people`,name:`Texts`},{description:`Find companies and people in natural language`,name:`Natural Search`},{description:`Sign-in, session, API key, and CLI authorization endpoints`,name:`Auth`},{description:`News linked to the companies and people in it`,name:`News`}],paths:JSON.parse(`{"/info":{"get":{"description":"Returns the running build's version, build time, and source revision","operationId":"getSystemBuild","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemBuild"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get build metadata","tags":["System"],"x-aventure-visibility":{"scope":"public"}}},"/v1/agents/help":{"post":{"deprecated":true,"description":"Deprecated: use help ask (POST /v1/help) with the same body.","operationId":"answerAgentHelpQuestion","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentHelpQuestion"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentHelp"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Deprecated: answer a natural-language platform help question","tags":["Agents"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/agents/instructions/manifest":{"get":{"deprecated":true,"description":"Deprecated: use help instructions manifest get (GET /v1/help/instructions/manifest).","operationId":"getAgentInstructionManifestAtRetiredAddress","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInstructionManifest"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Deprecated: get the agent instruction manifest","tags":["Agents"],"x-aventure-visibility":{"scope":"public"}}},"/v1/agents/instructions/{kind}/{name}":{"get":{"deprecated":true,"description":"Deprecated: use help instructions get (GET /v1/help/instructions/{kind}/{name}).","operationId":"getAgentInstructionAtRetiredAddress","parameters":[{"description":"Document kind: prompt, skill, or agent","in":"path","name":"kind","required":true,"schema":{"$ref":"#/components/schemas/AgentInstructionKind"}},{"description":"Manifest name of the document","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInstructionDetail"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Deprecated: get one agent instruction document","tags":["Agents"],"x-aventure-visibility":{"scope":"public"}}},"/v1/agents/instructions/{kind}/{name}/versions/{version}":{"get":{"deprecated":true,"description":"Deprecated: use help instructions versions get (GET /v1/help/instructions/{kind}/{name}/versions/{version}).","operationId":"getAgentInstructionVersionAtRetiredAddress","parameters":[{"description":"Document kind: prompt, skill, or agent","in":"path","name":"kind","required":true,"schema":{"$ref":"#/components/schemas/AgentInstructionKind"}},{"description":"Manifest name of the document","in":"path","name":"name","required":true,"schema":{"type":"string"}},{"description":"Immutable content version","in":"path","name":"version","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInstructionDetail"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Deprecated: get one agent instruction document version","tags":["Agents"],"x-aventure-visibility":{"scope":"public"}}},"/v1/auth/api-key":{"delete":{"description":"Revokes the aVenture API key authenticating this request and returns its metadata so the CLI can confirm revocation before deleting its saved copy.","operationId":"revokeCurrentApiKey","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKey"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"clerkApiKeyAuth":[]}],"summary":"Revoke current API key","tags":["Auth"],"x-aventure-cli-composite":{"command":"auth logout","localOption":[{"optionKey":"forgetLocal","flag":"--forget-local","description":"Delete the saved key even when revocation cannot be confirmed."}],"role":"revoke","summary":"Sign out: revoke the API key and forget stored OAuth"},"x-aventure-visibility":{"scope":"public"}},"get":{"description":"Returns provider metadata for the aVenture API key authenticating this request.","operationId":"getCurrentApiKey","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKey"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"clerkApiKeyAuth":[]}],"summary":"Get current API key","tags":["Auth"],"x-aventure-visibility":{"scope":"public"}}},"/v1/auth/cli-authorizations":{"post":{"description":"Creates a short-lived browser approval request and returns its poll credential once.","operationId":"createCliAuthorization","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliAuthorizationMutation"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliAuthorizationStart"}}},"description":"Created","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Start CLI authorization","tags":["Auth"],"x-aventure-cli-composite":{"bodyOption":["clientLabel"],"command":"auth login","localOption":[{"optionKey":"key","flag":"--key","description":"Sign in with a browser-approved aVenture API key instead of OAuth; the approval URL opens on any device."},{"optionKey":"browser","flag":"--no-browser","description":"Print the sign-in URL without opening a browser."}],"role":"start","summary":"Sign in with a browser-approved aVenture API key"},"x-aventure-visibility":{"scope":"public"}}},"/v1/auth/cli-authorizations/{cliAuthorizationId}/acknowledge":{"post":{"description":"Confirms the CLI stored the delivered API key in its credential store and clears transient delivery material.","operationId":"acknowledgeCliAuthorization","parameters":[{"description":"Public CLI authorization request identifier","in":"path","name":"cliAuthorizationId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"One-time poll credential returned by request creation","in":"header","name":"X-Cli-Poll-Secret","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliAuthorization"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Acknowledge CLI credential delivery","tags":["Auth"],"x-aventure-cli-composite":{"command":"auth login","role":"acknowledge"},"x-aventure-visibility":{"scope":"public"}}},"/v1/auth/cli-authorizations/{cliAuthorizationId}/poll":{"post":{"description":"Returns pending state, a terminal state, or an encrypted one-time credential delivery.","operationId":"pollCliAuthorization","parameters":[{"description":"Public CLI authorization request identifier","in":"path","name":"cliAuthorizationId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"One-time poll credential returned by request creation","in":"header","name":"X-Cli-Poll-Secret","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliAuthorizationPoll"}}},"description":"Authorization is still pending or issuing","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Poll CLI authorization","tags":["Auth"],"x-aventure-cli-composite":{"command":"auth login","role":"poll"},"x-aventure-visibility":{"scope":"public"}}},"/v1/auth/me/permissions":{"get":{"description":"Returns the current caller's resolved roles and permissions.","operationId":"getCurrentAuthPermissions","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthPermissionGrant"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Current user permissions","tags":["Auth"],"x-aventure-visibility":{"scope":"public"}},"post":{"description":"Returns the supplied generated API operations that the current caller may call, alongside its existing permission grant and access class. Candidate operations are checked without being executed.","operationId":"authorizeOperations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthOperationFilter"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthOperationAuthorization"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Authorize API operations","tags":["Auth"],"x-aventure-visibility":{"scope":"public"}}},"/v1/auth/providers":{"get":{"description":"Sign-in options for the CLI and browser, readable before signing in. A non-null publishable key offers browser sign-in; a non-null OAuth client offers CLI sign-in.","operationId":"getAuthProviderCatalog","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthProviderCatalog"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get the sign-in options","tags":["Auth"],"x-aventure-cli-composite":{"command":"auth login","description":"Sign in through your browser and save verified CLI access in the credential store.","localOption":[{"optionKey":"browser","flag":"--no-browser","description":"Print the sign-in URL without opening a browser."},{"optionKey":"providers","flag":"--providers","description":"Print the sign-in providers and CLI OAuth client, then exit without signing in."}],"role":"oauth","summary":"Sign in through your browser"},"x-aventure-visibility":{"scope":"public"}}},"/v1/billing/ai-credits":{"get":{"description":"AI credits are Researchly messages sent in Researchly's current billing period; the cap comes from the caller's tier and resetAt is Researchly's period end.","operationId":"getAiCredits","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchAllowance"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Read the current AI credit allowance","tags":["Billing"],"x-aventure-visibility":{"scope":"public"}}},"/v1/billing/checkout-sessions":{"post":{"description":"Start the selected AI Plus or AI Pro plan through Checkout: uiMode HOSTED_PAGE (the default) returns a hosted page url; ELEMENTS returns a clientSecret and publishableKey for the Payment Element in the caller's page. A caller with a continuing subscription changes plan with POST /v1/billing/plan-changes and cancels or resumes it through a Billing Portal Session.","operationId":"createBillingCheckoutSession","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingCheckoutMutation"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingCheckout"}}},"description":"Created","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Create or recover a Checkout Session","tags":["Billing"],"x-aventure-visibility":{"scope":"public"}}},"/v1/billing/plan-change-previews":{"post":{"description":"Show what POST /v1/billing/plan-changes would do for the same plan without changing anything: the amount charged on confirmation, when the plan takes effect, the recurring price after it, and the card on file. Refuses exactly what the plan change refuses.","operationId":"createBillingPlanChangePreview","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPlanChangeMutation"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPlanChangePreview"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Preview a subscription plan change","tags":["Billing"],"x-aventure-visibility":{"scope":"public"}}},"/v1/billing/plan-changes":{"post":{"description":"Move an active AI Plus or AI Pro subscription to another plan. A higher tier or a longer billing period applies now and invoices the prorated difference; paymentUrl is set when that invoice needs the customer to pay before the change applies; paymentClientSecret lets Stripe.js finish that payment in the page instead. Any other change takes effect at the current period end. Sending the current plan cancels a scheduled change.","operationId":"createBillingPlanChange","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPlanChangeMutation"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPlanChange"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Change the subscription plan","tags":["Billing"],"x-aventure-visibility":{"scope":"public"}}},"/v1/billing/plans":{"get":{"description":"Return every self-serve tier with its monthly allowance caps and every Checkout plan with its monthly and annual recurring prices.","operationId":"listPlans","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingCatalog"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List subscription tiers and plans","tags":["Billing"],"x-aventure-visibility":{"scope":"public"}}},"/v1/billing/portal-sessions":{"post":{"description":"Open the authenticated user's hosted billing portal to manage the continuing subscription.","operationId":"createBillingPortalSession","responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}},"description":"Created","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Create a hosted Billing Portal Session","tags":["Billing"],"x-aventure-visibility":{"scope":"public"}}},"/v1/billing/subscription":{"get":{"description":"Return sanitized Essential, AI Plus, AI Pro, or Unlimited subscription, entitlement, monthly allowance usage, and additional usage spent and available.","operationId":"getBillingSubscription","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscription"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Read the current billing subscription","tags":["Billing"],"x-aventure-visibility":{"scope":"public"}}},"/v1/enrichments":{"post":{"description":"Queues one enrichment run per listed entity and person, in order, each owned by the authenticated principal and billed exactly as the single-record enrich call is. A repeated id is filed once. Returns one outcome per distinct record: its run, or a refusal (NOT_FOUND, ALLOWANCE_EXHAUSTED, AMBIGUOUS, SUBSCRIPTION_REQUIRED) for a record that cannot be filed; other records still file, and runs already filed stay queued. A caller without a research subscription gets 402 before any run is filed. A transient failure fails the request; retrying it reuses runs still in progress without charging them again. A list longer than the configured batch limit is refused before any run is filed. Check each run's progress with GET /v1/harness/runs/{runId} (CLI: harness runs get).","operationId":"enrichRecords","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichmentBatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Enrichment"}}}},"description":"One outcome per distinct requested record, in request order.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The authenticated caller's subscription tier does not include research runs."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Enrich many companies and people","tags":["Harness"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities":{"get":{"description":"List entities with the same filters and sort as POST /v1/entities/search, passed as query parameters. Use the POST search for semantic ranking or a JSON EntityListFilter body, and POST /v1/search/natural/entities for plain English.","operationId":"listEntities","parameters":[{"description":"Restrict results to specific entity IDs.","in":"query","name":"entityId","required":false,"schema":{"type":"array","description":"Restrict results to specific entity IDs.","items":{"type":"string","format":"uuid","description":"Canonical entity UUID"}}},{"description":"Restrict results to entity slugs.","in":"query","name":"slug","required":false,"schema":{"type":"array","description":"Restrict results to entity slugs.","items":{"type":"string","description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"}}},{"description":"Exact normalized match against entity brand or legal names.","in":"query","name":"entityName","required":false,"schema":{"type":"array","description":"Exact normalized match against entity brand or legal names.","items":{"type":"string","description":"Exact normalized match against entity brand or legal names."}}},{"description":"Associated person, matched by name.","in":"query","name":"person","required":false,"schema":{"type":"array","description":"Associated person, matched by name.","items":{"type":"string","description":"Associated person, matched by name."}}},{"description":"Entity type filter. Organization expands to Company, Investment Firm, Nonprofit, and Government; omit to include every entity type.","in":"query","name":"typeRecord","required":false,"schema":{"type":"array","description":"Entity type filter. Organization expands to Company, Investment Firm, Nonprofit, and Government; omit to include every entity type.","items":{"$ref":"#/components/schemas/EntityType"}}},{"description":"Industry classification values.","in":"query","name":"industry","required":false,"schema":{"type":"array","description":"Industry classification values.","items":{"type":"string","description":"Industry classification values."}}},{"description":"Geographic classification values.","in":"query","name":"location","required":false,"schema":{"type":"array","description":"Geographic classification values.","items":{"type":"string","description":"Geographic classification values."}}},{"description":"General classification tag values.","in":"query","name":"tag","required":false,"schema":{"type":"array","description":"General classification tag values.","items":{"type":"string","description":"General classification tag values."}}},{"description":"Main product classification values.","in":"query","name":"mainProduct","required":false,"schema":{"type":"array","description":"Main product classification values.","items":{"type":"string","description":"Main product classification values."}}},{"description":"Technology-used classification values.","in":"query","name":"typeTechnologyUsed","required":false,"schema":{"type":"array","description":"Technology-used classification values.","items":{"type":"string","description":"Technology-used classification values."}}},{"description":"Business-model classification values.","in":"query","name":"typeModel","required":false,"schema":{"type":"array","description":"Business-model classification values.","items":{"type":"string","description":"Business-model classification values."}}},{"description":"Ownership-model classification values.","in":"query","name":"typeOwnership","required":false,"schema":{"type":"array","description":"Ownership-model classification values.","items":{"type":"string","description":"Ownership-model classification values."}}},{"description":"Customer-type classification values.","in":"query","name":"typeCustomer","required":false,"schema":{"type":"array","description":"Customer-type classification values.","items":{"type":"string","description":"Customer-type classification values."}}},{"description":"Revenue-model classification values.","in":"query","name":"typeRevenue","required":false,"schema":{"type":"array","description":"Revenue-model classification values.","items":{"type":"string","description":"Revenue-model classification values."}}},{"description":"Accelerator brand or operator name.","in":"query","name":"acceleratorBrand","required":false,"schema":{"type":"array","description":"Accelerator brand or operator name.","items":{"type":"string","description":"Accelerator brand or operator name."}}},{"description":"Specific accelerator program name.","in":"query","name":"acceleratorName","required":false,"schema":{"type":"array","description":"Specific accelerator program name.","items":{"type":"string","description":"Specific accelerator program name."}}},{"description":"Accelerator batch or cohort label.","in":"query","name":"acceleratorCohort","required":false,"schema":{"type":"array","description":"Accelerator batch or cohort label.","items":{"type":"string","description":"Accelerator batch or cohort label."}}},{"description":"Accelerator participation status.","in":"query","name":"acceleratorStatus","required":false,"schema":{"type":"array","description":"Accelerator participation status.","items":{"type":"string","description":"Accelerator participation status."}}},{"description":"Affinity provider organization names accepted by the companies list filter. Affinity rows are member -> provider; use provider names here, not member names.","in":"query","name":"affinity","required":false,"schema":{"type":"array","description":"Affinity provider organization names accepted by the companies list filter. Affinity rows are member -> provider; use provider names here, not member names.","items":{"type":"string","description":"Affinity provider organization names accepted by the companies list filter. Affinity rows are member -> provider; use provider names here, not member names."}}},{"description":"Headquarters country values.","in":"query","name":"headquartersCountry","required":false,"schema":{"type":"array","description":"Headquarters country values.","items":{"type":"string","description":"Headquarters country values."}}},{"description":"Headquarters state or region values.","in":"query","name":"headquartersState","required":false,"schema":{"type":"array","description":"Headquarters state or region values.","items":{"type":"string","description":"Headquarters state or region values."}}},{"description":"Headquarters city values.","in":"query","name":"headquartersCity","required":false,"schema":{"type":"array","description":"Headquarters city values.","items":{"type":"string","description":"Headquarters city values."}}},{"description":"Investment stage classification values.","in":"query","name":"stage","required":false,"schema":{"type":"array","description":"Investment stage classification values.","items":{"type":"string","description":"Investment stage classification values."}}},{"description":"Inclusive founding-year ranges, in calendar years.","in":"query","name":"yearFoundedRange","required":false,"schema":{"type":"array","description":"Inclusive founding-year ranges, in calendar years.","items":{"$ref":"#/components/schemas/IntRange"}}},{"description":"Inclusive reported employee-count ranges, in employees.","in":"query","name":"employeeCountRange","required":false,"schema":{"type":"array","description":"Inclusive reported employee-count ranges, in employees.","items":{"$ref":"#/components/schemas/IntRange"}}},{"description":"Operating states to include; omit to include every state.","in":"query","name":"operatingStatus","required":false,"schema":{"type":"array","description":"Operating states to include; omit to include every state.","items":{"$ref":"#/components/schemas/EntityOperatingStatus"}}},{"description":"Inclusive earliest timestamp.","in":"query","name":"createdAtRange.min","required":false,"schema":{"type":"string","format":"date-time","description":"Inclusive earliest timestamp."}},{"description":"Inclusive latest timestamp.","in":"query","name":"createdAtRange.max","required":false,"schema":{"type":"string","format":"date-time","description":"Inclusive latest timestamp."}},{"description":"Inclusive earliest timestamp.","in":"query","name":"updatedAtRange.min","required":false,"schema":{"type":"string","format":"date-time","description":"Inclusive earliest timestamp."}},{"description":"Inclusive latest timestamp.","in":"query","name":"updatedAtRange.max","required":false,"schema":{"type":"string","format":"date-time","description":"Inclusive latest timestamp."}},{"description":"Privileged filter to entities with any logo.","in":"query","name":"hasLogo","required":false,"schema":{"type":"boolean","description":"Privileged filter to entities with any logo."}},{"description":"Privileged filter by hidden status.","in":"query","name":"isHidden","required":false,"schema":{"type":"boolean","description":"Privileged filter by hidden status."}},{"description":"Privileged filter by public sitemap inclusion.","in":"query","name":"showOnSitemap","required":false,"schema":{"type":"boolean","description":"Privileged filter by public sitemap inclusion."}},{"description":"Privileged filter to entities with a real uploaded logo.","in":"query","name":"hasRealLogo","required":false,"schema":{"type":"boolean","description":"Privileged filter to entities with a real uploaded logo."}},{"description":"Filter to entities with fundraise activity.","in":"query","name":"hasFundraising","required":false,"schema":{"type":"boolean","description":"Filter to entities with fundraise activity."}},{"description":"Filter by featured status.","in":"query","name":"featured","required":false,"schema":{"type":"boolean","description":"Filter by featured status."}},{"description":"Suppress entities whose total raised is zero.","in":"query","name":"suppressZeroTotalRaised","required":false,"schema":{"type":"boolean","description":"Suppress entities whose total raised is zero."}},{"description":"Suppress entities with terminal operating status.","in":"query","name":"suppressNonOperating","required":false,"schema":{"type":"boolean","description":"Suppress entities with terminal operating status."}},{"description":"Named server-owned list quality gate.","in":"query","name":"qualityGate","required":false,"schema":{"$ref":"#/components/schemas/EntityListQualityGate"}},{"description":"Current URL to match by normalized host and path.","in":"query","name":"url","required":false,"schema":{"type":"string","description":"Current URL to match by normalized host and path."}},{"description":"Current root domain to match when urlMatchMode=domain.","example":"example.com","in":"query","name":"urlDomain","required":false,"schema":{"type":"string","description":"Current root domain to match when urlMatchMode=domain.","example":"example.com"}},{"description":"Restrict URL matching to one URL type.","example":"website","in":"query","name":"urlType","required":false,"schema":{"$ref":"#/components/schemas/EntityUrlType"}},{"description":"URL matching mode: hostPath uses host and path; domain uses the root domain.","example":"domain","in":"query","name":"urlMatchMode","required":false,"schema":{"$ref":"#/components/schemas/UrlMatchMode"}},{"description":"Portfolio-company headquarters country values.","in":"query","name":"portfolioHeadquartersCountry","required":false,"schema":{"type":"array","description":"Portfolio-company headquarters country values.","items":{"type":"string","description":"Portfolio-company headquarters country values."}}},{"description":"Portfolio-company headquarters state or region values.","in":"query","name":"portfolioHeadquartersState","required":false,"schema":{"type":"array","description":"Portfolio-company headquarters state or region values.","items":{"type":"string","description":"Portfolio-company headquarters state or region values."}}},{"description":"Portfolio-company headquarters city values.","in":"query","name":"portfolioHeadquartersCity","required":false,"schema":{"type":"array","description":"Portfolio-company headquarters city values.","items":{"type":"string","description":"Portfolio-company headquarters city values."}}},{"description":"Fundraise round labels, such as Seed or Series A.","in":"query","name":"fundraiseActivity.round","required":false,"schema":{"type":"array","description":"Fundraise round labels, such as Seed or Series A.","items":{"type":"string","description":"Fundraise round labels, such as Seed or Series A."}}},{"description":"Per-round amount-raised ranges in USD. Use plain JSON numbers.","in":"query","name":"fundraiseActivity.amountRaisedRange","required":false,"schema":{"type":"array","description":"Per-round amount-raised ranges in USD. Use plain JSON numbers.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"Investor-level amount-invested ranges in the transaction currency. Use plain JSON numbers.","in":"query","name":"fundraiseActivity.amountInvestedRange","required":false,"schema":{"type":"array","description":"Investor-level amount-invested ranges in the transaction currency. Use plain JSON numbers.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"Total-raised ranges across all rounds in USD. Use plain JSON numbers.","in":"query","name":"fundraiseActivity.totalRaisedRange","required":false,"schema":{"type":"array","description":"Total-raised ranges across all rounds in USD. Use plain JSON numbers.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"Post-money valuation ranges in USD.","in":"query","name":"fundraiseActivity.valuationRange","required":false,"schema":{"type":"array","description":"Post-money valuation ranges in USD.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"Last-round-year ranges for each entity's most recent fundraise round.","in":"query","name":"fundraiseActivity.lastRoundYearRange","required":false,"schema":{"type":"array","description":"Last-round-year ranges for each entity's most recent fundraise round.","items":{"$ref":"#/components/schemas/IntRange"}}},{"description":"Portfolio company names. Exact, case-sensitive match on the portfolio company's brand or legal name; restricts returned entities to investors in those companies.","in":"query","name":"fundraiseActivity.investedCompanyName","required":false,"schema":{"type":"array","description":"Portfolio company names. Exact, case-sensitive match on the portfolio company's brand or legal name; restricts returned entities to investors in those companies.","items":{"type":"string","description":"Portfolio company names. Exact, case-sensitive match on the portfolio company's brand or legal name; restricts returned entities to investors in those companies."}}},{"description":"Distinct fundraise-deal count ranges for an investor, with inclusive integer bounds.","in":"query","name":"fundraiseActivity.investorActivity.totalInvestmentRange","required":false,"schema":{"type":"array","description":"Distinct fundraise-deal count ranges for an investor, with inclusive integer bounds.","items":{"$ref":"#/components/schemas/IntRange"}}},{"description":"Total USD amount-invested ranges with inclusive bounds.","in":"query","name":"fundraiseActivity.investorActivity.totalAmountInvestedUsdRange","required":false,"schema":{"type":"array","description":"Total USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"Average USD amount-invested ranges with inclusive bounds.","in":"query","name":"fundraiseActivity.investorActivity.averageAmountInvestedUsdRange","required":false,"schema":{"type":"array","description":"Average USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"Largest USD amount-invested ranges with inclusive bounds.","in":"query","name":"fundraiseActivity.investorActivity.largestAmountInvestedUsdRange","required":false,"schema":{"type":"array","description":"Largest USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"Smallest USD amount-invested ranges with inclusive bounds.","in":"query","name":"fundraiseActivity.investorActivity.smallestAmountInvestedUsdRange","required":false,"schema":{"type":"array","description":"Smallest USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"Non-blank keyword/full-text search term. Use natural-search for plain-English or multi-constraint company requests.","in":"query","name":"textSearch","required":false,"schema":{"type":"string","description":"Non-blank keyword/full-text search term. Use natural-search for plain-English or multi-constraint company requests."}},{"description":"Return only the matching entity count in totalElements. Content is empty by design, so the page empty flag describes content, not whether matches exist. Unsupported with semanticQuery.","in":"query","name":"countOnly","required":false,"schema":{"type":"boolean"}},{"description":"Allow generated monogram logos in results.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Includes hidden or off-sitemap entities when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityList"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List companies, products, and services","tags":["Entities"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/classifications/catalog":{"get":{"description":"Returns active classification buckets with optional tag lists. Each bucket carries its canonical \`type\`, accepted \`alias[]\` spellings, \`tagCount\`, and (when includeTags=true) the active \`tag[]\`. Use bucketType to scope to one bucket and includeTags=false to fetch metadata only. For tag ids, prefer the classification tag list filtered by category and name over broad catalog JSON; use returned tag.id as EntityClassificationMutation.tagId when writing classifications. Dormant registry tags are intentionally omitted; type + name writes that find one return 409 with inactiveTagOverride recovery choices.","operationId":"getClassificationCatalog","parameters":[{"description":"Optional classification bucket. Accepts the same values as the tags endpoint type parameter.","example":"industry","in":"query","name":"bucketType","required":false,"schema":{"type":"string"}},{"description":"When false, returns bucket metadata without tag arrays. For tag ids, prefer \`entities classifications tags list\` with category and q filters instead of broad catalog JSON.","in":"query","name":"includeTags","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationCatalog"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get the company classification taxonomy","tags":["Classification Tags"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/classifications/tags":{"get":{"description":"Returns a paginated list of editorial tags and standardized classifications. Filter by category using any bucket or standardized category spelling listed by the catalog. Results expose writable/creatable policy so callers know whether to join by id or create by type plus name. Sorting is not supported — sort returns 422.","operationId":"listClassifications","parameters":[{"description":"Classification bucket or standardized category. Case- and punctuation-insensitive.","example":"industry","in":"query","name":"category","required":false,"schema":{"type":"string"}},{"description":"Case-insensitive name substring filter (e.g. 'enterprise').","example":"enterprise","in":"query","name":"q","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","default":25,"minimum":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageClassification"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List classification tags","tags":["Classification Tags"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/filters":{"get":{"description":"Get available filter options","operationId":"listEntityFilters","parameters":[{"description":"Type group for default filter scope. Ignored when typeRecord is provided.","in":"query","name":"typeGroup","required":false,"schema":{"$ref":"#/components/schemas/EntityTypeGroup"}},{"description":"Filter by entity type (Company, Investor, etc.)","in":"query","name":"typeRecord","required":false,"schema":{"type":"string"}},{"description":"Include governed expanded values available to authorized callers","example":false,"in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean","default":false}},{"description":"Include range distribution charts","example":false,"in":"query","name":"includeDistribution","required":false,"schema":{"type":"boolean","default":false}},{"description":"Comma-separated or repeated filter keys for chart distribution (for example amountRaised,totalRaised)","in":"query","name":"distributionKey","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityFilterOptionSet"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List the company filter options","tags":["Entity Filters"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/filters/refine":{"post":{"description":"Return filter metadata scoped by current filters. Each filter entry reports choiceOptionTotal and choiceOptionTruncated so CLI and MCP callers can tell when the displayed choiceOption list is only the top scoped subset. Use the filter search endpoint with the same scopeFilter to look up values not shown in the refine response.","operationId":"refineEntityFilters","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityFilter"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityFilterRefinedFilters"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Refine the company filter options","tags":["Entity Filters"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/filters/search":{"post":{"description":"Live search within the full eligible filter universe using current entity filters. Pass the same scopeFilter used for list/refine work; the searched filter excludes its own current values so callers can expand a facet without clearing the rest of the query.","operationId":"searchEntityFilters","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityFilterSearch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityFilterSearchResult"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Look up filter values inside the current search","tags":["Entity Filters"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/lookup":{"post":{"description":"Returns status MATCHED, NO_MATCH, or NEEDS_REVIEW. MATCHED: match.owner.entityId is the company; read it with GET /v1/entities/{entityId} (CLI: entities get) or queue research on it with POST /v1/entities/{entityId}/enrichments (CLI: entities enrichments enrich). NO_MATCH: no record you can see is this company; a caller with write access creates it, using officialUrl as its website when present. NEEDS_REVIEW: show candidate (most probable first) to the user and ask which one it is or whether it is new, then use the chosen candidate's owner.entityId; never create on NEEDS_REVIEW. Resending with the company's website or LinkedIn company URL settles it without a model call when a stored record holds that URL. stage names the step that settled it: DETERMINISTIC (URL or registry-id proof, no model call), JUDGMENT (decision model), or WEB_EVIDENCE (added a web search). Send the website and LinkedIn company URL whenever you have them, location and context to tell namesakes apart, and the article as sourceUrl or sourceNewsId. A parent, subsidiary, or namesake is a different company. For the full detail of an exact slug, URL, or domain use GET /v1/entities/lookup-exact. Example body: {\\"name\\":\\"Acme AI\\",\\"url\\":[\\"https://acme.ai\\"],\\"location\\":\\"Austin, TX\\"}.","operationId":"lookupEntity","parameters":[{"description":"Also considers hidden and unpublished records; needs private-visibility authority. Without it, NO_MATCH covers only records you can see.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentificationSubject"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Identification"}},"text/plain":{"schema":{"type":"string"}}},"description":"The identification as canonical JSON or compact text/plain.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The signed-in caller's plan does not include natural search."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The caller's natural-search quota is spent; retry after the Retry-After seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Find which company a name refers to, or confirm it is new","tags":["Search"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/lookup-batch":{"post":{"description":"Returns a page envelope of entity detail records by id, slug, and/or current joined URL. When page and size are omitted, the full deduplicated batch is returned in request order. Sort is not supported for this fixed-order batch response. For public reads totalElements counts the entities visible to the caller, so requested identifiers that do not resolve or fail the public visibility filter are excluded. For privileged reads totalElements counts the requested identifiers that resolved to an entity id, which can exceed the number of records returned when an id no longer exists. A signed-in user's read charges one view per distinct returned record against the monthly entity or person view allowance; a repeat read of the same record in the month is free, and an exhausted cap answers 429 with Retry-After.","operationId":"lookupEntityBatch","parameters":[{"description":"Includes hidden, unverified, and not-yet-published entities when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N); omit page and size for the full batch.","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","description":"Zero-based page index (0..N); omit page and size for the full batch."}},{"description":"The size of the page to be returned; omit page and size for the full batch.","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","description":"The size of the page to be returned; omit page and size for the full batch."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityDetailBatch"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityDetail"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Look up companies in bulk by id, slug, or URL","tags":["Entities"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/lookup-exact":{"get":{"description":"Exact read: returns the full detail of the one entity a slug, URL, or domain proves, and 404 or 409 instead of guessing. To identify a company by name and clues, use the POST lookup (CLI entities lookup). Detail qualifiers and visibility rules apply. UUIDs use the item route; id query parameters are rejected. Changed slugs redirect canonically. A signed-in user's read charges one view per distinct returned record against the monthly entity or person view allowance; a repeat read of the same record in the month is free, and an exhausted cap answers 429 with Retry-After.","operationId":"getEntityLookup","parameters":[{"description":"Exact entity slug.","in":"query","name":"slug","required":false,"schema":{"type":"string","description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"}},{"description":"Provider slug for Product/Service slug lookup; providerTypeRecord can narrow this to Company, Nonprofit, or Government routes.","in":"query","name":"companySlug","required":false,"schema":{"type":"string","description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"}},{"description":"Concrete provider type qualifier for a Product/Service provider route; group-only Organization is invalid. Use with companySlug when resolving \`/companies/{slug}/products-services/{product}\`, \`/non-profits/{slug}/products-services/{product}\`, or \`/government/{slug}/products-services/{product}\`.","example":"Company","in":"query","name":"providerTypeRecord","required":false,"schema":{"type":"string","description":"Concrete provider type qualifier for a Product/Service provider route; group-only Organization is invalid. Use with companySlug when resolving \`/companies/{slug}/products-services/{product}\`, \`/non-profits/{slug}/products-services/{product}\`, or \`/government/{slug}/products-services/{product}\`.","example":"Company"}},{"description":"Entity URL matched by host and path unless urlMatchMode=domain.","in":"query","name":"url","required":false,"schema":{"type":"string","description":"Entity URL matched by host and path unless urlMatchMode=domain."}},{"description":"URL type qualifier. List the accepted tokens with GET /v1/url-types (CLI: url-types list).","example":"website","in":"query","name":"urlType","required":false,"schema":{"type":"string","description":"URL type qualifier. List the accepted tokens with GET /v1/url-types (CLI: url-types list).","example":"website"}},{"description":"URL matching mode: hostPath (default for url) or domain. Omit when urlDomain is supplied; urlDomain selects domain mode automatically.","example":"hostPath","in":"query","name":"urlMatchMode","required":false,"schema":{"type":"string","description":"URL matching mode: hostPath (default for url) or domain. Omit when urlDomain is supplied; urlDomain selects domain mode automatically.","example":"hostPath"}},{"description":"Concrete entity type qualifier; group-only Organization is invalid. List the accepted concrete tokens and their aliases with GET /v1/entities/types (CLI: entities types list).","example":"Company","in":"query","name":"typeRecord","required":false,"schema":{"type":"string","description":"Concrete entity type qualifier; group-only Organization is invalid. List the accepted concrete tokens and their aliases with GET /v1/entities/types (CLI: entities types list).","example":"Company"}},{"description":"Primary entity name candidate.","in":"query","name":"name","required":false,"schema":{"type":"string","description":"Primary entity name candidate."}},{"description":"Brand name candidate.","in":"query","name":"nameBrand","required":false,"schema":{"type":"string","description":"Brand name candidate."}},{"description":"Legal name candidate.","in":"query","name":"nameLegal","required":false,"schema":{"type":"string","description":"Legal name candidate."}},{"description":"Location candidate: city, state, or country.","in":"query","name":"location","required":false,"schema":{"type":"string","description":"Location candidate: city, state, or country."}},{"description":"Website domain candidate without protocol or path.","in":"query","name":"urlDomain","required":false,"schema":{"type":"string","description":"Website domain candidate without protocol or path."}},{"description":"Allow generated monogram logo fallback.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean","description":"Allow generated monogram logo fallback."}},{"description":"Includes hidden or off-sitemap entities and hidden research snippets when the caller has private-visibility authority.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean","description":"Includes hidden or off-sitemap entities and hidden research snippets when the caller has private-visibility authority."}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityDetail"}},"text/plain":{"schema":{"type":"string"}}},"description":"Entity detail as canonical JSON or the same data rendered as compact text/plain.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"301":{"description":"Redirect to new slug location","headers":{"Location":{"description":"Redirect target","style":"simple"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflicting or unusable identity input: name, nameBrand, and nameLegal must identify the same entity, and exactly one identifier form may be supplied."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"No entity resolved: fuzzy candidate signals below the review threshold without identity proof are exhausted, which does not prove the record is absent or safe to create — search POST /v1/entities/search with textSearch first (searchEntities). An existing but filtered row instead reports its reason as the ProblemDetail title: Entity Exists but Is Not Public (retry with includePrivate=true), Product Not Public: Missing Provider Relationship, or Fund Not Public: No Public Manager Firm."},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Ambiguous identity: review-level candidates, unresolved identity proof, multiple exact normalized-name matches, or a Product/Service slug shared across provider pairs. ProblemDetail carries candidates; read each returned id with GET /v1/entities/{entityId}. Resolve the Product/Service ambiguity with companySlug plus slug or a provider's productService relationship."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Read full entity detail by exact slug, URL, or domain","tags":["Entities"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/lookup-matches":{"post":{"description":"Resolves each queried id, slug, and current joined URL to exactly one outcome row that echoes the raw input: MATCHED with full detail, AMBIGUOUS with candidate ids when a URL is currently owned by more than one entity, or MISSING. Unlike the batch detail read, no input is silently dropped and every row maps back to its source identifier. URL matching is host+path exact: scheme and a leading www are ignored, but distinct paths stay distinct (stripe.com does not match stripe.com/payments). A signed-in user's read charges one view per distinct returned record against the monthly entity or person view allowance; a repeat read of the same record in the month is free, and an exhausted cap answers 429 with Retry-After.","operationId":"lookupEntityMatches","parameters":[{"description":"Returns hidden, unverified, and not-yet-published entities instead of resolving them as MISSING when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityDetailBatch"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EntityResolution"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Look up which company each identifier matches","tags":["Entities"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/natural-search":{"post":{"deprecated":true,"description":"Deprecated: use search natural entities (POST /v1/search/natural/entities) with the same body and parameters.","operationId":"searchEntitiesByNaturalLanguage","parameters":[{"description":"When false, generated monogram logos are stripped from entity rows.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Includes hidden or off-sitemap entities when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNaturalSearch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NaturalSearchResult"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Deprecated: find companies in natural language","tags":["Natural Search"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/relationships/types":{"get":{"description":"Returns canonical EntityRelationshipType values, aliases, and policy flags. Use joinable=true values with entities relationships create; acquisitionManaged=true values route through entity acquisitions; exclusiveRelationshipType lists relationship types that cannot coexist for the same unordered entity pair; readOnly=true values are emitted by reads only.","operationId":"listEntityRelationshipTypes","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EntityRelationshipTypeOption"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List entity relationship types","tags":["Entity Relationships"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/relationships/{relationshipId}":{"get":{"description":"Returns one relationship by row id, including historic and non-primary rows. The response includes isCurrent and isPrimary so hidden-row cause is explicit.","operationId":"getEntityRelationship","parameters":[{"description":"Integer entity_relationship.id row id from EntityRelationship.id, not an entity UUID.","in":"path","name":"relationshipId","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityRelationship"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get one relationship by id","tags":["Entity Relationships"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/research-details/types":{"get":{"description":"Returns research detail type tokens and their write metadata. The metadata includes valueShape, allowedToken, range, and timeSeries. When timeSeries=true, each believable dated observation is historical data: add a new current row and delete only rows believed false.","operationId":"listEntityResearchDetailTypes","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ResearchDetailType"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List the accepted research detail types","tags":["Entity Research"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/research-snippets/types":{"get":{"description":"Lists the recognized research snippet types. A textType in this list is validated against its length and paragraph rules on write and defaults to visible; a textType not in this list is still saved but defaults to visible=false (hidden from default reads). The per-row visible flag overrides the default either way. The curated and analysisRenderable flags mark public Analysis-page eligibility, not snippet display.","operationId":"listEntityResearchSnippetTypes","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ResearchSnippetType"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List the accepted research snippet types","tags":["Entity Research"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/search":{"post":{"description":"Run keyword, semantic, or explicit structured entity filtering with a structured filter body; Organization expands to the canonical organization type group; semanticQuery ranks by stored content embeddings. For plain-English queries, use POST /v1/search/natural/entities. Semantic results can emit signed cursors; reuse the same filters, sort, size, and visibility scope. countOnly is unsupported with semanticQuery or cursor; count-only pages have no content; read totalElements.","operationId":"searchEntities","parameters":[{"description":"Return only the matching entity count in totalElements. Content is empty by design, so the page empty flag describes content, not whether matches exist. Unsupported with semanticQuery.","in":"query","name":"countOnly","required":false,"schema":{"type":"boolean"}},{"description":"Allow generated monogram logos in results.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Includes hidden or off-sitemap entities when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Opaque entity cursor; reuse filters and sort. Cursor is unsupported with countOnly; semanticQuery depends on the endpoint.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":25,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Privileged read flag. Must be true to return the /v1/entities/detail payload.","in":"query","name":"includeFullDetail","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityListFilter"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PageEntityList"},{"$ref":"#/components/schemas/PageEntityDetail"}]}}},"description":"OK","headers":{"X-Next-Cursor":{"description":"Opaque sort-aware continuation token when another page is available","schema":{"type":"string"},"style":"simple"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Search companies, products, and services","tags":["Entities"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/sec":{"get":{"description":"Resolves a publicly traded US company by ticker (preferred) or company-name query. Returns the SEC EDGAR identity facts: legal name, former names, ticker, exchange, SIC industry, state of incorporation, headquarters, and whether it is an operating company. SEC supplies no brand name, website, or summary text — those stay enrichment-owned and are absent here. A 404 means the query matched no SEC registrant (e.g. a private company). Read live and never persisted.","operationId":"lookupSecCompany","parameters":[{"description":"Trading ticker symbol (preferred resolver)","example":"AAPL","in":"query","name":"ticker","required":false,"schema":{"type":"string"}},{"description":"Company name query (used when no ticker is given)","example":"NVIDIA","in":"query","name":"name","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecCompany"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get SEC EDGAR facts for a public company","tags":["Entity Research"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/texts/types":{"get":{"description":"Returns text type values accepted by entity text rows.","operationId":"listEntityTextTypes","parameters":[{"description":"Include private text types for callers with read access","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TextTypeOption"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List the accepted company text types","tags":["Texts"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/types":{"get":{"description":"Returns each accepted typeRecord value with its aliases, meaning, and public page path.","operationId":"listEntityTypeRecords","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EntityTypeAlias"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List the accepted typeRecord values","tags":["Entity Maintenance"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}":{"get":{"description":"Returns entity detail by exact UUID. Use lookup for a slug, URL, or candidate signals. A signed-in user's read charges one view per distinct returned record against the monthly entity or person view allowance; a repeat read of the same record in the month is free, and an exhausted cap answers 429 with Retry-After.","operationId":"getEntity","parameters":[{"description":"Exact entity UUID.","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Concrete entity type qualifier; group-only Organization is invalid. List the accepted concrete tokens and their aliases with GET /v1/entities/types (CLI: entities types list).","example":"Company","in":"query","name":"typeRecord","required":false,"schema":{"type":"string","description":"Concrete entity type qualifier; group-only Organization is invalid. List the accepted concrete tokens and their aliases with GET /v1/entities/types (CLI: entities types list).","example":"Company"}},{"description":"Allow generated monogram logo fallback.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean","description":"Allow generated monogram logo fallback."}},{"description":"Includes hidden or off-sitemap entities and hidden research snippets when the caller has private-visibility authority.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean","description":"Includes hidden or off-sitemap entities and hidden research snippets when the caller has private-visibility authority."}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityDetail"}},"text/plain":{"schema":{"type":"string"}}},"description":"Entity detail as canonical JSON or the same data rendered as compact text/plain.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get one company, product, or service by id","tags":["Entities"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/acquisitions":{"get":{"description":"Returns a row only when both sides of the acquisition are published. A 404 for an acquisition that the entity relationships resource lists means one side is not published yet. The acquired/acquirer roles in each row are always declared explicitly in the response via the acquiredEntity and acquirerEntity fields. The role query parameter selects which side of the acquisition the path entity is on: acquired (default) lists acquisitions where the path entity was bought; acquirer lists acquisitions where the path entity was the buyer; all lists or reads both sides in one response. Writes (POST/PUT/PATCH/DELETE) ignore role and always treat the path entity as acquired. List responses are ordered by most recent acquisition event first.","operationId":"listEntityAcquisitions","parameters":[{"description":"Entity UUID whose acquisition rows are being read or written.","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Selects which side the path entity occupies in the WHERE clause: \`acquired\` (default) lists rows where the path entity was bought; \`acquirer\` lists rows where the path entity was the buyer; \`all\` lists both sides.","in":"query","name":"role","required":false,"schema":{"$ref":"#/components/schemas/EntityAcquisitionRole","default":"acquired"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityAcquisition"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a company's acquisitions","tags":["Entity Acquisitions"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/acquisitions/{relationshipId}":{"get":{"description":"Returns a row only when both sides of the acquisition are published. A 404 for an acquisition that the entity relationships resource lists means one side is not published yet. A gated miss on an existing row returns 404 with title 'Acquisition Exists but a Counterpart Entity Is Not Public'. The acquired/acquirer roles in each row are always declared explicitly in the response via the acquiredEntity and acquirerEntity fields. The role query parameter selects which side of the acquisition the path entity is on: acquired (default) lists acquisitions where the path entity was bought; acquirer lists acquisitions where the path entity was the buyer; all lists or reads both sides in one response. Writes (POST/PUT/PATCH/DELETE) ignore role and always treat the path entity as acquired.","operationId":"getEntityAcquisition","parameters":[{"description":"Entity UUID whose acquisition rows are being read or written.","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Acquisition relationship row id (entity_relationship.id).","in":"path","name":"relationshipId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Selects which side the path entity occupies in the WHERE clause: \`acquired\` (default) lists rows where the path entity was bought; \`acquirer\` lists rows where the path entity was the buyer; \`all\` reads either side.","in":"query","name":"role","required":false,"schema":{"$ref":"#/components/schemas/EntityAcquisitionRole","default":"acquired"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityAcquisition"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get one company acquisition","tags":["Entity Acquisitions"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/addresses":{"get":{"description":"Returns current physical addresses with their role-period associations, ordered HQ-first, primary-next, most-recent-first (\`updated_at DESC\`). Reads directly from the base tables so fresh writes surface immediately (bypassing the mv_entity_addresses materialized view). Set includeInactive=true as a signed-in user or with read credentials to include inactive/historical rows.","operationId":"listEntityAddresses","parameters":[{"description":"Canonical entity UUID","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Include inactive rows","in":"query","name":"includeInactive","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Address"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a company's locations","tags":["Entity Addresses"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/addresses/{addressJoinId}":{"get":{"description":"Returns the physical address group containing the selected entity address association. Requires read auth.","operationId":"getEntityAddress","parameters":[{"description":"Canonical entity UUID","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Address join id parameter","in":"path","name":"addressJoinId","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Address"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one company address","tags":["Entity Addresses"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/blog-posts":{"get":{"description":"Returns active external blog post links stored in research.res_blog_article. NOT FOR: News/press coverage; use \`news list\`.","operationId":"listEntityBlogPosts","parameters":[{"description":"Entity UUID owning the blog post rows","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Include inactive research blog post rows","in":"query","name":"includeInactive","required":false,"schema":{"type":"boolean","default":false}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":10,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","default":["publishedAt,desc"],"items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBlogPost"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a company's blog posts","tags":["Research Blog Posts"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/blog-posts/{blogPostId}":{"get":{"description":"Returns one entity-owned external link by id. Any signed-in user may call this.","operationId":"getEntityBlogPost","parameters":[{"description":"Entity UUID owning the blog post row","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Blog post UUID","in":"path","name":"blogPostId","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlogPost"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one company blog post","tags":["Research Blog Posts"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/classifications":{"get":{"description":"Returns joins grouped by bucket. The default view includes current rows; includeInactive=true adds historical rows and requires read auth. Callers with private-visibility authority can also resolve hidden or private entities; setting includePrivate=true requires that authority. Signed-in callers without it can access public entities, while hidden entities return 404.","operationId":"listEntityClassifications","parameters":[{"description":"Canonical entity UUID","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Include inactive/historical entity classification join rows; default false returns only current joins.","in":"query","name":"includeInactive","required":false,"schema":{"type":"boolean","default":false}},{"description":"Includes private or hidden entity classification rows when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityClassification"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List a company's classifications","tags":["Entity Classifications"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/classifications/suggestions":{"get":{"description":"Default classification discovery path for enrichment agents. Returns ranked embedding-derived tag and standardized-code suggestions; empty array means no embedding neighbors. Create joins with the entity classifications create endpoint. A signed-in user is admitted for public entities; callers with private-visibility authority can also resolve hidden or private entities; setting includePrivate=true requires that authority. Signed-in callers without it can access public entities, while hidden entities return 404.","operationId":"listEntityClassificationSuggestions","parameters":[{"description":"Canonical entity UUID","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Maximum suggestions to return; default 12, maximum 50.","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Includes private or hidden entity suggestions when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EntityClassificationSuggestion"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Suggest classifications for a company","tags":["Entity Classifications"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/content":{"get":{"description":"Returns news articles, blog posts, repositories, websites, and pages related to an entity. Any signed-in user may call this.","operationId":"listEntityContent","parameters":[{"description":"Entity UUID whose publications are listed.","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Topic key or source category.","in":"query","name":"topic","required":false,"schema":{"type":"string","description":"Topic key or source category."}},{"description":"Public content type filter.","in":"query","name":"contentType","required":false,"schema":{"$ref":"#/components/schemas/PublicationType"}},{"description":"Owner relation filter.","in":"query","name":"relation","required":false,"schema":{"$ref":"#/components/schemas/PublicationRelation"}},{"description":"Best-effort content year filter.","in":"query","name":"year","required":false,"schema":{"type":"integer","format":"int32","description":"Best-effort content year filter."}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Set true for first-page content-existence probes that do not need exact totals or stable ordering.","in":"query","name":"existenceProbe","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagePublication"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List a company's publications","tags":["Publications"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/content/facets":{"get":{"description":"Counts one entity's content cards by topic and content type across the whole index, so filters show exact totals before every page loads. Any signed-in user may call this.","operationId":"listEntityContentFacets","parameters":[{"description":"Entity UUID whose publications are counted.","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicationFacet"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Count a company's publications","tags":["Publications"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/content/search":{"post":{"description":"Translates plain-English constraints for one entity's content index. Any signed-in user may call this.","operationId":"searchEntityContent","parameters":[{"description":"Entity UUID whose publications are searched.","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NaturalSearch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagePublication"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Search a company's publications","tags":["Publications"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/employee-counts":{"get":{"description":"Returns employee-count time series for the entity at this address. Results are sorted newest first. This endpoint does not support custom sorting.","operationId":"listEntityEmployeeCounts","parameters":[{"description":"Entity unique identifier (UUID)","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"description":"The size of the page to be returned; maximum 500.","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","default":25}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEmployeeCount"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a company's headcount over time","tags":["Entity Research"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/enrichments":{"post":{"description":"Queues a run that researches the addressed entity and updates its aVenture profile, owned by the authenticated caller. Take entityId from match.owner when POST /v1/lookup or POST /v1/entities/lookup returns MATCHED (CLI: lookup, entities lookup). When a run for this entity is already queued or running, returns that run instead of queuing and charging another; a new run spends one \`company\` research unit from the plan's research allowance. After the run completes, read the updated profile with GET /v1/entities/{entityId} (CLI: entities get). Check the run's progress with GET /v1/harness/runs/{runId} (CLI: harness runs get).","operationId":"enrichEntity","parameters":[{"description":"Canonical entity UUID.","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"COMPREHENSIVE (the default) researches the whole profile; INDIVIDUAL runs only the tasks named in taskPresetKey.","in":"query","name":"mode","required":false,"schema":{"$ref":"#/components/schemas/EnrichmentMode"}},{"description":"Model id for the run's lead agent; omit to use aVenture's default model.","in":"query","name":"model","required":false,"schema":{"type":"string"}},{"description":"Plain-language instruction for this run, such as which facts or sources to check first.","in":"query","name":"userPrompt","required":false,"schema":{"type":"string"}},{"description":"Task preset keys that scope or emphasize this run; at least one is required when mode is INDIVIDUAL, and an unknown key is a 400.","in":"query","name":"taskPresetKey","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarnessRun"}}},"description":"The queued enrichment run for the addressed entity.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The authenticated caller's subscription tier does not include research runs."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Enrich one company, product, or service","tags":["Harness"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/fundraise-investor-joins":{"get":{"description":"Lists entity or person investors joined to a fundraise round, including join-level amountInvested attribution. amountInvested is a plain decimal number in the fundraise transaction currency. Send a JSON number such as 220000 or 123456.78. Do not send currency signs, currency codes, comma grouping, quoted numeric strings, or abbreviations such as 220k or 0.22M. PATCH with amountInvested:null clears the value. Use entityId for the fundraising/portfolio company that raised the round — always a company, never the fund or investment firm that supplied the capital. For an Investment Firm's outgoing investment, pass the portfolio company that received the money here and identify the firm with investorEntityId or investorEntitySlug. Use transactionId for the round id, or round plus dateAnnounced when transactionId is unknown. Investor entity/person selectors reference existing records only. Create a referenced investor entity first with POST /v1/entities/detail or a referenced investor person first with POST /v1/people, then create the join.","operationId":"listEntityFundraiseInvestorJoins","parameters":[{"description":"Entity unique identifier (UUID).","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Join identifier. When present, lookup ignores transaction and investor query parameters.","in":"query","name":"joinId","required":false,"schema":{"type":"string","format":"uuid","description":"Join identifier. When present, lookup ignores transaction and investor query parameters."}},{"description":"Fundraise round transaction id. The target entity id/slug is the entity that raised the round; for an Investment Firm investment, use the portfolio/fundraising company as target and identify the firm with investorEntityId or investorEntitySlug. When omitted, lookup uses the target entity plus round/dateAnnounced.","in":"query","name":"transactionId","required":false,"schema":{"type":"string","format":"uuid","description":"Fundraise round transaction id. The target entity id/slug is the entity that raised the round; for an Investment Firm investment, use the portfolio/fundraising company as target and identify the firm with investorEntityId or investorEntitySlug. When omitted, lookup uses the target entity plus round/dateAnnounced."}},{"description":"Raw fundraise round label used when transactionId is omitted","in":"query","name":"round","required":false,"schema":{"type":"string","description":"Raw fundraise round label used when transactionId is omitted"}},{"description":"Exact announced timestamp used to disambiguate same-label rounds","in":"query","name":"dateAnnounced","required":false,"schema":{"type":"string","format":"date-time","description":"Exact announced timestamp used to disambiguate same-label rounds"}},{"description":"Existing investor entity identifier. The entity must already exist; create a referenced investor entity first with POST /v1/entities/detail.","in":"query","name":"investorEntityId","required":false,"schema":{"type":"string","format":"uuid","description":"Existing investor entity identifier. The entity must already exist; create a referenced investor entity first with POST /v1/entities/detail."}},{"description":"Existing investor entity slug when investorEntityId is omitted. The entity must already exist; create it first with POST /v1/entities/detail.","in":"query","name":"investorEntitySlug","required":false,"schema":{"type":"string","description":"Existing investor entity slug when investorEntityId is omitted. The entity must already exist; create it first with POST /v1/entities/detail."}},{"description":"Existing investor person identifier. The person must already exist; create a referenced investor person first with POST /v1/people.","in":"query","name":"investorPersonId","required":false,"schema":{"type":"string","format":"uuid","description":"Existing investor person identifier. The person must already exist; create a referenced investor person first with POST /v1/people."}},{"description":"Existing investor person slug when investorPersonId is omitted. The person must already exist; create it first with POST /v1/people.","in":"query","name":"investorPersonSlug","required":false,"schema":{"type":"string","description":"Existing investor person slug when investorPersonId is omitted. The person must already exist; create it first with POST /v1/people."}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","default":25}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityFundraiseInvestorJoin"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List the investors in a funding round","tags":["Entity Fundraise"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/fundraise-investor-joins/{joinId}":{"get":{"description":"Gets one entity or person investor join by join id.","operationId":"getEntityFundraiseInvestorJoin","parameters":[{"description":"Entity unique identifier (UUID).","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Fundraise investor join identifier","in":"path","name":"joinId","required":true,"schema":{"type":"string","format":"uuid","description":"Type-safe identifier for fundraise investor joins"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityFundraiseInvestorJoin"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get one investor on a funding round","tags":["Entity Fundraise"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/fundraise-rounds":{"get":{"description":"Lists fundraise rounds for an entity. Use entityId for the fundraising/portfolio company that raised the round - always a company, never the fund or investment firm. For an investment made by an Investment Firm, pass the portfolio company that received the money here, not the investment firm id and not the round id.","operationId":"listEntityFundraiseRounds","parameters":[{"description":"Entity unique identifier (UUID).","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Round label contains filter","example":"Series A","in":"query","name":"round","required":false,"schema":{"type":"string"}},{"description":"Inclusive minimum announced date","example":"2022-01-01","in":"query","name":"dateFrom","required":false,"schema":{"type":"string","format":"date"}},{"description":"Inclusive maximum announced date","example":"2024-12-31","in":"query","name":"dateTo","required":false,"schema":{"type":"string","format":"date"}},{"description":"Inclusive minimum amount raised. Use a plain whole-number amount such as 500000; do not include currency signs, codes, comma grouping, decimals, or strings.","example":500000,"in":"query","name":"minAmount","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"Inclusive maximum amount raised. Use a plain whole-number amount such as 50000000; do not include currency signs, codes, comma grouping, decimals, or strings.","example":50000000,"in":"query","name":"maxAmount","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"Permit monogram fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Opaque URL-safe cursor token from X-Next-Cursor. Reuse the same filters and sort.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityFundraiseTransaction"}}},"description":"OK","headers":{"X-Next-Cursor":{"description":"Opaque continuation token when cursor traversal has another page.","schema":{"type":"string"},"style":"simple"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a company's funding rounds","tags":["Entity Fundraise"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/fundraise-rounds/{fundraiseRoundId}":{"get":{"description":"Gets one fundraise round for an entity. Use entityId for the fundraising/portfolio company that raised the round - always a company, never the fund or investment firm. For an investment made by an Investment Firm, pass the portfolio company that received the money here, not the investment firm id and not the round id. Use fundraiseRoundId for the round id.","operationId":"getEntityFundraiseRound","parameters":[{"description":"Entity unique identifier (UUID).","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Fundraise round id. Use this with the entityId path segment that owns the round.","in":"path","name":"fundraiseRoundId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical fundraise transaction UUID"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityFundraiseTransaction"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get one funding round","tags":["Entity Fundraise"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/investments":{"get":{"description":"Lists investments made by the requesting investor entity. Use entityId to select the investor, then filter by round, dateFrom/dateTo, minAmount/maxAmount, and latestPerEntity. amountInvested appears only inside investorAttribution, is a plain decimal number in the fundraise transaction currency, and is not added to amountRaised. Valid sort syntax is sort=amountInvested,desc; do not use investorAttribution.amountInvested, amount_invested, currency signs, currency codes, comma grouping, or abbreviated values. Deep traversal uses cursor: pass the prior X-Next-Cursor value as cursor and reuse the same filters and sort.","operationId":"listEntityInvestments","parameters":[{"description":"Entity unique identifier (UUID).","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Round label contains filter","example":"Series A","in":"query","name":"round","required":false,"schema":{"type":"string"}},{"description":"Inclusive minimum announced date","example":"2022-01-01","in":"query","name":"dateFrom","required":false,"schema":{"type":"string","format":"date"}},{"description":"Inclusive maximum announced date","example":"2024-12-31","in":"query","name":"dateTo","required":false,"schema":{"type":"string","format":"date"}},{"description":"Inclusive minimum amount raised. Use a plain whole-number amount such as 500000; do not include currency signs, codes, comma grouping, decimals, or strings.","example":500000,"in":"query","name":"minAmount","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"Inclusive maximum amount raised. Use a plain whole-number amount such as 50000000; do not include currency signs, codes, comma grouping, decimals, or strings.","example":50000000,"in":"query","name":"maxAmount","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"Permit monogram fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Return latest transaction per entity","in":"query","name":"latestPerEntity","required":false,"schema":{"type":"boolean"}},{"description":"Opaque URL-safe cursor token from X-Next-Cursor. Reuse the same filters and sort.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Includes private fundraise data when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityFundraiseTransaction"}}},"description":"OK","headers":{"X-Next-Cursor":{"description":"Opaque continuation token when cursor traversal has another page.","schema":{"type":"string"},"style":"simple"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List the investments a company made","tags":["Entity Fundraise"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/investor-activity":{"get":{"description":"Gets the investor-perspective activity aggregate (total investments, current portfolio count, exits, and top investment stages) for an investor. Use entityId for the investor — the fund, investment firm, or company that supplied the capital — not a portfolio company that raised a round.","operationId":"getEntityInvestorActivity","parameters":[{"description":"Entity unique identifier (UUID).","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityFundraiseInvestorActivity"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get investor activity","tags":["Entity Fundraise"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/investors":{"get":{"description":"Lists entity investors with per-round investorAttribution rows. Use entityId for the fundraising/portfolio company being invested in, whose investors to list — always a company, never an investor fund or firm. amountInvested appears only inside investorAttribution, is a plain decimal number in the fundraise transaction currency, and is not added to amountRaised. Valid sort syntax is sort=amountInvested,desc; do not use investorAttribution.amountInvested, amount_invested, currency signs, currency codes, comma grouping, or abbreviated values.","operationId":"listEntityInvestors","parameters":[{"description":"Entity unique identifier (UUID).","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Permit generated monogram fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Opaque URL-safe cursor token from X-Next-Cursor. Reuse the same filters and sort.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Includes private fundraise data when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityInvestorParticipation"}}},"description":"OK","headers":{"X-Next-Cursor":{"description":"Opaque continuation token when cursor traversal has another page.","schema":{"type":"string"},"style":"simple"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a company's investors","tags":["Entity Fundraise"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/media/{mediaType}":{"get":{"description":"Returns the selected square or standard entity logo. Empty slots return 404.","operationId":"getEntityMedia","parameters":[{"description":"Canonical entity UUID","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Media slot; entities serve logo.","in":"path","name":"mediaType","required":true,"schema":{"$ref":"#/components/schemas/MediaSlot"}},{"description":"Logo slot: SQUARE (default; \`core.image.logoSquare\`) or STANDARD (\`core.image.logo\`).","in":"query","name":"logoType","required":false,"schema":{"$ref":"#/components/schemas/EntityLogoType"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaUpload"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get a company media slot","tags":["Entity Media"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/people":{"get":{"description":"Returns people associated with one entity. Public results exclude hidden entities; callers with private-visibility authority can include them.","operationId":"listEntityPersonAssociations","parameters":[{"description":"Entity UUID","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Search term filter","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Match the complete titleName, ignoring case (for example, Co-Founder & CEO). Omit to include all titles; this does not filter titleFunction or titleLevel.","in":"query","name":"role","required":false,"schema":{"type":"string"}},{"description":"Current association filter","in":"query","name":"isCurrent","required":false,"schema":{"type":"boolean"}},{"description":"Include person URL records","in":"query","name":"includeUrl","required":false,"schema":{"type":"boolean"}},{"description":"Include person address records","in":"query","name":"includeAddress","required":false,"schema":{"type":"boolean"}},{"description":"Person slug fallback for entity-keyed writes","in":"query","name":"personSlug","required":false,"schema":{"type":"string"}},{"description":"Return count metadata without full content","in":"query","name":"countOnly","required":false,"schema":{"type":"boolean"}},{"description":"Permit generated monogram fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Includes associations on hidden entities when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityPersonAssociation"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List the people at a company","tags":["Entity Person Associations"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/people/{associationId}":{"get":{"description":"Returns one entity-scoped association detail. Public results hide associations to hidden entities; callers with private-visibility authority can include them.","operationId":"getEntityPersonAssociation","parameters":[{"description":"Entity UUID","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Association id","in":"path","name":"associationId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Search term filter","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Match the complete titleName, ignoring case (for example, Co-Founder & CEO). Omit to include all titles; this does not filter titleFunction or titleLevel.","in":"query","name":"role","required":false,"schema":{"type":"string"}},{"description":"Current association filter","in":"query","name":"isCurrent","required":false,"schema":{"type":"boolean"}},{"description":"Include person URL records","in":"query","name":"includeUrl","required":false,"schema":{"type":"boolean"}},{"description":"Include person address records","in":"query","name":"includeAddress","required":false,"schema":{"type":"boolean"}},{"description":"Person slug fallback for entity-keyed writes","in":"query","name":"personSlug","required":false,"schema":{"type":"string"}},{"description":"Return count metadata without full content","in":"query","name":"countOnly","required":false,"schema":{"type":"boolean"}},{"description":"Permit generated monogram fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Includes associations on hidden entities when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityPersonAssociation"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get one person's role at a company","tags":["Entity Person Associations"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/person-investors":{"get":{"description":"Lists person investors with per-round investorAttribution rows. Use entityId for the fundraising/portfolio company being invested in, whose investors to list — always a company, never an investor fund or firm. amountInvested appears only inside investorAttribution, is a plain decimal number in the fundraise transaction currency, and is not added to amountRaised. Valid sort syntax is sort=amountInvested,desc; do not use investorAttribution.amountInvested, amount_invested, currency signs, currency codes, comma grouping, or abbreviated values.","operationId":"listEntityPersonInvestors","parameters":[{"description":"Entity unique identifier (UUID).","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Permit generated monogram fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Opaque URL-safe cursor token from X-Next-Cursor. Reuse the same filters and sort.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Includes private fundraise data when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagePersonInvestorParticipation"}}},"description":"OK","headers":{"X-Next-Cursor":{"description":"Opaque continuation token when cursor traversal has another page.","schema":{"type":"string"},"style":"simple"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List person investors","tags":["Entity Fundraise"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/relationships":{"get":{"description":"Returns relationship rows touching the path entity. Defaults to renderable-only rows where isCurrent=true and isPrimary=true. Set includeNonRenderable=true to surface historic and non-primary curation rows; returned rows include id, isCurrent, and isPrimary so hidden-row cause is explicit. Use entities relationships get to retrieve one row by id without an entity path.","operationId":"listEntityRelationships","parameters":[{"description":"Canonical entity UUID","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Optional EntityRelationshipType filter, one of: acceleratorParticipant, acquirer, affinity, calculated, competingProductService, competitor, customer, fundManagerFirm, parent, productService, serviceProvider, similarCompany, spinOffFrom, successor. Use entities relationships types list for valid values.","in":"query","name":"type","required":false,"schema":{"type":"string"}},{"description":"Include historic or non-primary rows. Default false returns only rows where isCurrent=true and isPrimary=true.","in":"query","name":"includeNonRenderable","required":false,"schema":{"type":"boolean","default":false}},{"description":"Opaque URL-safe cursor token from X-Next-Cursor. Reuse the same filters and sort.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"When true, returns direct curated competitors with each competitor's provider comparison signals (sells-to, pricing, ownership, funding, website) nested under its productService row. Competition is not transitively closed: A-B plus B-C surfaces B from A, never C. With type=productService on a company, returns each of its Product/Service rows nesting those direct competitor rows, so one call covers every product line. Only supported for type=competingProductService or type=productService; the result is capped, so cursor and includeNonRenderable are not accepted alongside transitive=true.","in":"query","name":"transitive","required":false,"schema":{"type":"boolean","default":false}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","minimum":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityRelationship"}}},"description":"OK","headers":{"X-Next-Cursor":{"description":"Opaque continuation token when cursor traversal has another page.","schema":{"type":"string"},"style":"simple"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a company's relationships","tags":["Entity Relationships"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/repositories":{"get":{"description":"Returns the entity's synced GitHub repositories, paged. Default sort is stargazerCount desc, then name.","operationId":"listEntityRepositories","parameters":[{"description":"Entity UUID owning the repositories","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":50,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageGithubRepo"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List a company's GitHub repositories","tags":["Repositories"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/research":{"get":{"description":"Returns the consolidated research projection for an entity. Callers with private-visibility authority can include hidden research snippets and off-sitemap entities.","operationId":"getEntityResearch","parameters":[{"description":"Canonical entity UUID.","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Includes hidden research snippets and off-sitemap entities when the caller has private-visibility authority. Omit to use the caller's default visibility.","example":true,"in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityResearch"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get the research gathered about a company","tags":["Entity Research"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/research-details":{"get":{"description":"Returns paginated research details for an entity. Optionally filter by detail type. Rows for timeSeries=true types are history, not stale current state.","operationId":"listEntityResearchDetails","parameters":[{"description":"Canonical entity UUID.","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Zero-based page index (0..N)","example":0,"in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"description":"The size of the page to be returned","example":25,"in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","default":25}},{"description":"Research detail type token. Run GET /v1/entities/research-details/types (CLI: entities research-details types list) for the token inventory and each token's value shape.","example":"nameCongruencyScore","in":"query","name":"type","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityResearchDetail"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List research details","tags":["Entity Research"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/research-details/{detailId}":{"get":{"description":"Returns one research detail for an entity.","operationId":"getEntityResearchDetail","parameters":[{"description":"Canonical entity UUID.","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Research detail id.","example":6444,"in":"path","name":"detailId","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityResearchDetail"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get research detail","tags":["Entity Research"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/research-snippets":{"get":{"description":"Returns paginated research snippets for one entity. Public reads omit hidden rows and private provenance fields; privileged private reads include hidden rows. Sorting is fixed by the server.","operationId":"listEntityResearchSnippets","parameters":[{"description":"Canonical entity UUID.","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Zero-based page index (0..N)","example":0,"in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"description":"The size of the page to be returned","example":25,"in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","default":25}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityResearchSnippet"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List research snippets","tags":["Entity Research"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/research-snippets/{snippetId}":{"get":{"description":"Returns one research snippet for an entity. Public reads omit private provenance fields.","operationId":"getEntityResearchSnippet","parameters":[{"description":"Canonical entity UUID.","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Research snippet id.","example":538,"in":"path","name":"snippetId","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityResearchSnippet"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get research snippet","tags":["Entity Research"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/similar":{"get":{"description":"Returns similar entities for the UUID at this address, ordered by similarity score. Rows include the entity and similarity provenance. Use relationshipType to filter stored relationships. Custom sorting is unsupported. Any signed-in user may call this on every plan. The list is free: it never counts against the monthly record-view allowance, which charges only a separate full-detail view of one record.","operationId":"listEntitySimilarEntities","parameters":[{"description":"Entity unique identifier (UUID)","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Filter by stored relationship type, one of: acceleratorParticipant, acquirer, affinity, calculated, competingProductService, competitor, customer, fundManagerFirm, parent, productService, serviceProvider, similarCompany, spinOffFrom, successor.","example":"competitor","in":"query","name":"relationshipType","required":false,"schema":{"type":"string"}},{"description":"Optional entity typeRecord filter. Repeat to allow multiple entity types.","example":"Company","in":"query","name":"typeRecord","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Permit monogram fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","default":10,"minimum":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntitySimilarityResult"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get similar companies by id","tags":["Entity Similar"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/similar/summary":{"get":{"description":"Returns the same similar entities, order, and totals as GET /v1/entities/{entityId}/similar with lean rows: entity core, current URL links, and similarity provenance. Use it for rails and cards that do not render list enrichment. Custom sorting is unsupported. Any signed-in user may call this on every plan. The list is free: it never counts against the monthly record-view allowance, which charges only a separate full-detail view of one record.","operationId":"listEntitySimilarSummaries","parameters":[{"description":"Entity unique identifier (UUID)","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Filter by stored relationship type, one of: acceleratorParticipant, acquirer, affinity, calculated, competingProductService, competitor, customer, fundManagerFirm, parent, productService, serviceProvider, similarCompany, spinOffFrom, successor.","example":"competitor","in":"query","name":"relationshipType","required":false,"schema":{"type":"string"}},{"description":"Optional entity typeRecord filter. Repeat to allow multiple entity types.","example":"Company","in":"query","name":"typeRecord","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Permit monogram fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","default":10,"minimum":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntitySimilaritySummary"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get similar company summaries by id","tags":["Entity Similar"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/slug":{"get":{"description":"Returns the current slug, canonical path, and public URL. Any signed-in user may call this.","operationId":"getEntitySlug","parameters":[{"description":"Entity UUID","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlugLocation"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get a company's slug","tags":["Record Slugs"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/texts":{"get":{"description":"Returns paginated text rows owned by the entity. Inactive or private rows require read auth.","operationId":"listEntityTexts","parameters":[{"description":"Entity UUID owning the text rows","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Include inactive text rows","in":"query","name":"includeInactive","required":false,"schema":{"type":"boolean","default":false}},{"description":"Include private text rows for callers with read access","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean","default":false}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":25,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityText"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a company's text","tags":["Texts"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/texts/{textId}":{"get":{"description":"Returns one entity-owned text row by id. Requires read auth.","operationId":"getEntityText","parameters":[{"description":"Entity UUID owning the text row","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Text row id","in":"path","name":"textId","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Include private text rows for callers with read access","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityText"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one piece of company text","tags":["Texts"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/trending-news":{"get":{"description":"Returns trending news semantically related to the company named by the entity id path parameter.","operationId":"listEntityTrendingNews","parameters":[{"description":"Canonical entity UUID.","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","default":10,"minimum":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageNews"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List trending news about a company","tags":["Semantic Similarity"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/unique-ids":{"get":{"description":"Returns paginated external identifier mappings for one owner. Sort by id, idType, identifier, createdAt, or updatedAt; default is updatedAt descending.","operationId":"listEntityUniqueIds","parameters":[{"description":"Canonical entity UUID.","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":50,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageUniqueId"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List a company's identifiers","tags":["Identifiers"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/unique-ids/{uniqueIdId}":{"get":{"description":"Returns one external identifier mapping after verifying it belongs to the path owner.","operationId":"getEntityUniqueId","parameters":[{"description":"Canonical entity UUID.","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Unique-id row id.","example":42,"in":"path","name":"uniqueIdId","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniqueId"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one company identifier","tags":["Identifiers"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/urls":{"get":{"description":"Returns paged primary current URL rows owned by an entity. Set includeInactive=true as a signed-in user or with read credentials to include secondary active and inactive/historical rows.","operationId":"listEntityUrls","parameters":[{"description":"Entity UUID owning the URL rows","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Include secondary active and inactive/historical URL rows","in":"query","name":"includeInactive","required":false,"schema":{"type":"boolean","default":false}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":25,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityUrlLink"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a company's URLs","tags":["URL Links"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/urls/{urlId}":{"get":{"description":"Returns one entity-owned URL row by id. Requires read auth.","operationId":"getEntityUrl","parameters":[{"description":"Entity UUID owning the URL row","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"URL link id","in":"path","name":"urlId","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityUrlLink"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one company URL","tags":["URL Links"],"x-aventure-visibility":{"scope":"public"}}},"/v1/entities/{entityId}/valuations":{"get":{"description":"Returns newest-first, per-UTC-month valuation points composed from stated latestValuation research details plus fundraise-round valuations. Only researchDetail points have detailId and can be changed here; fundraiseRound points are read-only here. Custom sort is not supported.","operationId":"listEntityValuations","parameters":[{"description":"Entity unique identifier (UUID).","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"entityId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","default":25}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityValuationTimeSeriesPoint"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a company's valuation over time","tags":["Entity Fundraise"],"x-aventure-visibility":{"scope":"public"}}},"/v1/harness/runs/{runId}":{"get":{"description":"Returns one run with its resolved public entity and exact renderable profile URL when available. An admin API key or admin bearer credential addresses every run and receives the privileged projection; any other authenticated caller addresses only runs it owns.","operationId":"getHarnessRun","parameters":[{"description":"Harness run id","in":"path","name":"runId","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarnessRunDetail"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one run","tags":["Harness"],"x-aventure-visibility":{"scope":"public"}}},"/v1/help":{"post":{"description":"Retrieves the most relevant operations, skills, and completion gates, then returns a grounded, citation-bearing answer. Unsupported questions abstain (LOW confidence) rather than invent a command. Free for every signed-in account.","operationId":"askHelpQuestion","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentHelpQuestion"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentHelp"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Answer a natural-language platform help question","tags":["Agents"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/help/instructions/manifest":{"get":{"description":"Returns the latest-pointer manifest of versioned prompt and skill documents. Any signed-in user may call this.","operationId":"getAgentInstructionManifest","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInstructionManifest"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get the agent instruction manifest","tags":["Agents"],"x-aventure-visibility":{"scope":"public"}}},"/v1/help/instructions/{kind}/{name}":{"get":{"description":"Returns the current version and markdown content for one prompt, skill, or agent. Any signed-in user may call this.","operationId":"getAgentInstruction","parameters":[{"description":"Document kind: prompt, skill, or agent","in":"path","name":"kind","required":true,"schema":{"$ref":"#/components/schemas/AgentInstructionKind"}},{"description":"Manifest name of the document","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInstructionDetail"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one agent instruction document","tags":["Agents"],"x-aventure-visibility":{"scope":"public"}}},"/v1/help/instructions/{kind}/{name}/versions/{version}":{"get":{"description":"Returns an immutable prompt, skill, or agent document by name and version. Any signed-in user may call this.","operationId":"getAgentInstructionVersion","parameters":[{"description":"Document kind: prompt, skill, or agent","in":"path","name":"kind","required":true,"schema":{"$ref":"#/components/schemas/AgentInstructionKind"}},{"description":"Manifest name of the document","in":"path","name":"name","required":true,"schema":{"type":"string"}},{"description":"Immutable content version","in":"path","name":"version","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInstructionDetail"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one agent instruction document version","tags":["Agents"],"x-aventure-visibility":{"scope":"public"}}},"/v1/lookup":{"post":{"description":"Identifies a company or a person in one call. A name that is exactly a record's id, public handle, registry id (ticker, LEI, EIN), or slug settles at once; otherwise the company and person ladders of POST /v1/entities/lookup and POST /v1/people/lookup both run. Returns MATCHED when a URL, slug, or registry-id proof settles one kind, when exactly one kind matches and the other finds nothing, or when a match carries the name and the other kind, unproven, has no record that could carry it; NO_MATCH when neither finds the subject; and NEEDS_REVIEW otherwise, including when a company and a person share the name. match.owner says which kind matched: with entityId, read it with GET /v1/entities/{entityId} (CLI: entities get) or enrich it with POST /v1/entities/{entityId}/enrichments (CLI: entities enrichments enrich); with personId, use GET /v1/people/{personId} (CLI: people get) or POST /v1/people/{personId}/enrichments (CLI: people enrichments enrich). On NEEDS_REVIEW ask the user which candidate it is, then use its owner the same way; when you already know the kind, the company-only or person-only lookup answers without the other kind's namesakes. Takes the same body as those two operations. Example body: {\\"name\\":\\"Acme AI\\",\\"url\\":[\\"https://acme.ai\\"]}. Exact id only: legacy=true with {\\"name\\":\\"eV1StGXR8Z5a\\"}.","operationId":"lookupRecord","parameters":[{"description":"Also considers hidden and unpublished records; needs private-visibility authority. Without it, NO_MATCH covers only records you can see.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Treat name only as an exact id, public handle, registry id, or slug: no model call, no web search, and 404 when nothing matches. An exact match never spends the natural-search quota, with or without this flag.","in":"query","name":"legacy","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentificationSubject"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Identification"}},"text/plain":{"schema":{"type":"string"}}},"description":"The identification as canonical JSON or compact text/plain.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The signed-in caller's plan does not include natural search."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The caller's natural-search quota is spent; retry after the Retry-After seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Find a company or person by name, URL, or id","tags":["Search"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/lookup-jobs":{"post":{"description":"Reads one article (sourceUrl or sourceNewsId), extracts the companies and people it names, and identifies each one as POST /v1/lookup would with the article as its source. Poll the returned status URL with GET /v1/lookup-jobs/{jobId}. Spends one natural-search quota slot for each name the job may identify, up to its per-article limit, when it is accepted. For a name no stored record is, the job creates a hidden shell record at no charge only when a second live page on another site names it too; enrich that shell by its id. The same article sent again soon returns the earlier job without spending quota again. Example body: {\\"sourceUrl\\":\\"https://techcrunch.com/2024/01/01/example\\"}.","operationId":"createLookupJob","parameters":[{"description":"Also considers hidden and unpublished records; needs private-visibility authority. Without it, NO_MATCH covers only records you can see.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupJobMutation"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobEnqueue"}}},"description":"The lookup job was accepted; poll its status URL.","headers":{"Location":{"description":"Endpoint to poll for the job state and result.","schema":{"type":"string","format":"uri-reference"},"style":"simple"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The signed-in caller's plan does not include natural search."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The caller's natural-search quota is spent; retry after the Retry-After seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Start identifying every company and person an article names","tags":["Search","Lookup jobs"],"x-aventure-visibility":{"scope":"public"}}},"/v1/lookup-jobs/{jobId}":{"get":{"description":"Returns the job state and, once COMPLETED, one mention per company or person the article names: its identification (MATCHED gives the stored record, NEEDS_REVIEW the candidates) and, for NO_MATCH, the hidden shell record created for it or shellDetail saying why none was. A name whose lookup failed carries failureReason instead; send it alone to POST /v1/lookup. Only the caller that started the job can read it.","operationId":"getLookupJob","parameters":[{"description":"Lookup job id from the create response.","in":"path","name":"jobId","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupJob"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get a lookup job's state and the records its article names","tags":["Search","Lookup jobs"],"x-aventure-visibility":{"scope":"public"}}},"/v1/metrics":{"get":{"description":"Global metrics snapshot. Companies tracked, total funding, trailing 30-day funding, investors, people, countries, cities. Totals are a periodically refreshed snapshot, so they can trail recent changes.","operationId":"getSystemGlobalMetrics","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemGlobalMetrics"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get platform totals for companies, funding, and people","tags":["System"],"x-aventure-tool":{"auth":"none"},"x-aventure-visibility":{"scope":"public"}}},"/v1/news":{"get":{"description":"Browse news articles in the canonical news domain, with optional filtering.","operationId":"listNews","parameters":[{"description":"The size of the page to be returned; default and maximum 25 for the standard list, where larger values are reduced to that maximum. Entity, person, author-initial, and thin-mode reads accept larger pages.","in":"query","name":"size","required":false,"schema":{"type":"integer","default":25,"minimum":1}},{"description":"Full-text news search term.","in":"query","name":"search","required":false,"schema":{"type":"string","description":"Full-text news search term."}},{"description":"News category slug to include or exclude.","in":"query","name":"category","required":false,"schema":{"type":"string","description":"News category slug to include or exclude."}},{"description":"Owning entity id; set only when personId is absent.","in":"query","name":"owner.entityId","required":false,"schema":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},{"description":"Owning person id; set only when entityId is absent.","in":"query","name":"owner.personId","required":false,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Exclude one news article by id.","in":"query","name":"excludeId","required":false,"schema":{"type":"integer","format":"int32","description":"Type-safe identifier for news articles"}},{"description":"Author initial filter.","in":"query","name":"authorInitial","required":false,"schema":{"type":"string","description":"Author initial filter."}},{"description":"Earliest publication date, inclusive.","in":"query","name":"publishedAfter","required":false,"schema":{"type":"string","format":"date","description":"Earliest publication date, inclusive."}},{"description":"Latest publication date, inclusive.","in":"query","name":"publishedBefore","required":false,"schema":{"type":"string","format":"date","description":"Latest publication date, inclusive."}},{"description":"Cursor token returned by the previous thin page.","in":"query","name":"cursor","required":false,"schema":{"type":"string","description":"Cursor token returned by the previous thin page."}},{"deprecated":true,"description":"Deprecated: use the author-initial filter.","in":"query","name":"letter","required":false,"schema":{"type":"string"}},{"description":"Response mode: thin returns cursor-paginated index rows; omit for the standard list.","in":"query","name":"mode","required":false,"schema":{"type":"string","enum":["thin"]}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageNews"}}},"description":"OK","headers":{"X-Next-Cursor":{"description":"Opaque continuation token when cursor traversal has another page.","schema":{"type":"string"},"style":"simple"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List news articles","tags":["News"],"x-aventure-visibility":{"scope":"public"}}},"/v1/news/feedback":{"post":{"description":"Records feedback on a news article.","operationId":"createNewsFeedback","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsFeedback"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsFeedbackAcknowledgement"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Submit news feedback","tags":["News"],"x-aventure-visibility":{"scope":"public"}}},"/v1/news/lookup":{"get":{"description":"Resolves news detail by slug, external ID, URL, or bounded title candidate signals. Use the numeric item route for an id; any id query is rejected. Canonical redirects are preserved.","operationId":"lookupNews","parameters":[{"description":"Exact news article slug (URL-friendly identifier). Mutually exclusive with id, externalId, url, and title.","in":"query","name":"slug","required":false,"schema":{"type":"string","description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"}},{"description":"External ID or RSS GUID for ingestion-key lookup. Mutually exclusive with id, slug, url, and title.","in":"query","name":"externalId","required":false,"schema":{"type":"string","description":"External ID or RSS GUID for ingestion-key lookup. Mutually exclusive with id, slug, url, and title."}},{"description":"Original article URL to resolve via strict host+path or domain-only match. Mutually exclusive with id, slug, and externalId. May pair with title and publication to narrow candidate recovery after an exact URL miss. Pair with urlMatchMode to disambiguate.","in":"query","name":"url","required":false,"schema":{"type":"string","description":"Original article URL to resolve via strict host+path or domain-only match. Mutually exclusive with id, slug, and externalId. May pair with title and publication to narrow candidate recovery after an exact URL miss. Pair with urlMatchMode to disambiguate."}},{"description":"Candidate lookup signal: article title. Mutually exclusive with id, slug, and externalId. Combine with publication, urlDomain, or url for bounded candidate search.","in":"query","name":"title","required":false,"schema":{"type":"string","description":"Candidate lookup signal: article title. Mutually exclusive with id, slug, and externalId. Combine with publication, urlDomain, or url for bounded candidate search."}},{"description":"Publication qualifier (e.g., 'TechCrunch', 'Forbes'). Narrows a title candidate search. Not an identifier on its own.","in":"query","name":"publication","required":false,"schema":{"type":"string","description":"Publication qualifier (e.g., 'TechCrunch', 'Forbes'). Narrows a title candidate search. Not an identifier on its own."}},{"description":"Candidate lookup URL domain qualifier (host only, no path). Narrows a title candidate search. Not an identifier on its own.","in":"query","name":"urlDomain","required":false,"schema":{"type":"string","description":"Candidate lookup URL domain qualifier (host only, no path). Narrows a title candidate search. Not an identifier on its own."}},{"description":"URL match mode qualifier: 'hostPath' (strict host + path match, default) or 'domain' (host-only match). Narrows url and urlDomain matching. Not an identifier on its own.","in":"query","name":"urlMatchMode","required":false,"schema":{"type":"string","description":"URL match mode qualifier: 'hostPath' (strict host + path match, default) or 'domain' (host-only match). Narrows url and urlDomain matching. Not an identifier on its own."}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsDetail"}},"text/plain":{"schema":{"type":"string"}}},"description":"News detail as canonical JSON or compact text.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"301":{"description":"Redirect to new slug location","headers":{"Location":{"description":"Redirect target","style":"simple"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Ambiguous candidate signals: more than one article still matches the supplied title/URL bundle. ProblemDetail carries details.newsCandidate; review those ids, update the matching article, and create only when all candidates are distinct and source evidence supports the target. score and threshold are review ranking, not absence proof. Resolve directly by id, slug, or externalId."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Look up one news article","tags":["News"],"x-aventure-visibility":{"scope":"public"}}},"/v1/news/{newsId}":{"get":{"description":"Returns news detail by exact positive ID. Use lookup for a slug, external ID, URL, or title candidates.","operationId":"getNews","parameters":[{"description":"Exact positive news article id.","in":"path","name":"newsId","required":true,"schema":{"type":"integer","format":"int32","description":"Type-safe identifier for news articles"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsDetail"}},"text/plain":{"schema":{"type":"string"}}},"description":"News detail as canonical JSON or compact text.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one news article","tags":["News"],"x-aventure-visibility":{"scope":"public"}}},"/v1/news/{newsId}/media/{mediaType}":{"get":{"description":"Returns the article's attached thumbnail. Empty slots return 404.","operationId":"getNewsMedia","parameters":[{"description":"Exact positive news article id","in":"path","name":"newsId","required":true,"schema":{"type":"integer","format":"int32","description":"Type-safe identifier for news articles"}},{"description":"Media slot; news articles serve thumbnail.","in":"path","name":"mediaType","required":true,"schema":{"$ref":"#/components/schemas/MediaSlot"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaUpload"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get news thumbnail","tags":["News Media"],"x-aventure-visibility":{"scope":"public"}}},"/v1/news/{newsId}/related-entities":{"get":{"description":"Returns entities semantically related to a news article.","operationId":"listNewsRelatedEntities","parameters":[{"description":"News article id whose semantic neighbors should be returned.","in":"path","name":"newsId","required":true,"schema":{"type":"integer","format":"int32"},"x-aventure-legacy-name":{"name":"id"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","default":10,"minimum":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntity"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List the entities a news article is about","tags":["Semantic Similarity"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people":{"get":{"description":"List people with the same filters and sort as POST /v1/people/search, passed as query parameters. Use the POST search for semantic ranking or a JSON body, and POST /v1/search/natural/people for plain English.","operationId":"listPeople","parameters":[{"description":"Person first name.","in":"query","name":"firstName","required":false,"schema":{"type":"string","description":"Person first name."}},{"description":"Person last name.","in":"query","name":"lastName","required":false,"schema":{"type":"string","description":"Person last name."}},{"description":"Person workflow status.","in":"query","name":"status","required":false,"schema":{"type":"string","description":"Person workflow status."}},{"description":"Associated entity names.","in":"query","name":"arrayFilter.entityName","required":false,"schema":{"type":"array","description":"Associated entity names.","items":{"type":"string","description":"Associated entity names."}}},{"description":"Associated entity type scope. Omit or use [] for any associated type.","in":"query","name":"arrayFilter.typeRecord","required":false,"schema":{"type":"array","description":"Associated entity type scope. Omit or use [] for any associated type.","items":{"$ref":"#/components/schemas/EntityType"}}},{"description":"Person titles.","in":"query","name":"arrayFilter.personTitle","required":false,"schema":{"type":"array","description":"Person titles.","items":{"type":"string","description":"Person titles."}}},{"description":"Invested company names.","in":"query","name":"arrayFilter.investedCompany","required":false,"schema":{"type":"array","description":"Invested company names.","items":{"type":"string","description":"Invested company names."}}},{"description":"Fundraise round labels.","in":"query","name":"arrayFilter.round","required":false,"schema":{"type":"array","description":"Fundraise round labels.","items":{"type":"string","description":"Fundraise round labels."}}},{"in":"query","name":"arrayFilter.amountRaisedRange","required":false,"schema":{"type":"array","description":"Selected per-investment amount-raised ranges (inclusive decimal bounds, USD) used to filter people by investment activity. Body syntax is [{\\"min\\":220000,\\"max\\":5000000}] with plain JSON numbers only.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"in":"query","name":"arrayFilter.amountInvestedRange","required":false,"schema":{"type":"array","description":"Selected investor-level amount-invested ranges (inclusive decimal bounds) used to filter people by attributed investment activity. Body syntax is {\\"arrayFilter\\":{\\"amountInvestedRange\\":[{\\"min\\":220000,\\"max\\":5000000}]}} with plain JSON numbers in each fundraise transaction currency. Do not send currency signs, codes, commas, numeric strings, or abbreviated values.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"in":"query","name":"arrayFilter.totalInvestmentCount","required":false,"schema":{"type":"array","description":"Selected total-investment-count ranges (inclusive integer bounds) used to filter people by the number of distinct fundraise deals they invested in.","items":{"$ref":"#/components/schemas/IntRange"}}},{"description":"Search keyword or phrase. Single characters valid; stop words rejected.","example":"AI","in":"query","name":"search","required":false,"schema":{"type":"string","description":"Search keyword or phrase. Single characters valid; stop words rejected.","example":"AI"}},{"description":"Exact normalized match against a person's full name or slug.","in":"query","name":"personName","required":false,"schema":{"type":"array","description":"Exact normalized match against a person's full name or slug.","items":{"type":"string","description":"Exact normalized match against a person's full name or slug."}}},{"description":"Restrict results to specific person IDs. Omit or use [] for no ID restriction.","in":"query","name":"personId","required":false,"schema":{"type":"array","description":"Restrict results to specific person IDs. Omit or use [] for no ID restriction.","items":{"type":"string","format":"uuid","description":"Canonical person UUID"},"maxItems":200,"minItems":0}},{"description":"First-name initial.","example":"A","in":"query","name":"letter","required":false,"schema":{"type":"string","description":"First-name initial.","example":"A"}},{"description":"Associated entity UUID.","in":"query","name":"entityId","required":false,"schema":{"type":"string","format":"uuid","description":"Associated entity UUID."}},{"description":"Associated entity slug.","in":"query","name":"entitySlug","required":false,"schema":{"type":"string","description":"Associated entity slug."}},{"description":"Associated entity role or title.","in":"query","name":"role","required":false,"schema":{"type":"string","description":"Associated entity role or title."}},{"description":"Filter current associations.","in":"query","name":"isCurrent","required":false,"schema":{"type":"boolean","description":"Filter current associations."}},{"description":"Include URL links on each person","in":"query","name":"includeUrl","required":false,"schema":{"type":"boolean","description":"Include URL links on each person"}},{"description":"Include addresses on each person","in":"query","name":"includeAddress","required":false,"schema":{"type":"boolean","description":"Include addresses on each person"}},{"description":"Distinct fundraise-deal count ranges for an investor, with inclusive integer bounds.","in":"query","name":"investorActivity.totalInvestmentRange","required":false,"schema":{"type":"array","description":"Distinct fundraise-deal count ranges for an investor, with inclusive integer bounds.","items":{"$ref":"#/components/schemas/IntRange"}}},{"description":"Total USD amount-invested ranges with inclusive bounds.","in":"query","name":"investorActivity.totalAmountInvestedUsdRange","required":false,"schema":{"type":"array","description":"Total USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"Average USD amount-invested ranges with inclusive bounds.","in":"query","name":"investorActivity.averageAmountInvestedUsdRange","required":false,"schema":{"type":"array","description":"Average USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"Largest USD amount-invested ranges with inclusive bounds.","in":"query","name":"investorActivity.largestAmountInvestedUsdRange","required":false,"schema":{"type":"array","description":"Largest USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"Smallest USD amount-invested ranges with inclusive bounds.","in":"query","name":"investorActivity.smallestAmountInvestedUsdRange","required":false,"schema":{"type":"array","description":"Smallest USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}}},{"description":"When true, return only the page total in the body and skip the content payload.","in":"query","name":"countOnly","required":false,"schema":{"type":"boolean"}},{"description":"When true, sort people who have a photo before those who do not.","in":"query","name":"hasImageFirst","required":false,"schema":{"type":"boolean"}},{"description":"When false, monogram fallback logos are stripped from the response. Defaults to true.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Includes hidden, unverified, and not-yet-published records when the caller has private-visibility authority. Omit to use the caller's default visibility.","example":false,"in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":25,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagePerson"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List people","tags":["People"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/filters":{"get":{"description":"Returns available people filter facets.","operationId":"listPersonFilters","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityFilterOptionSet"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List person filter options","tags":["Person Metadata"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/filters/search":{"get":{"description":"Searches available people filter options.","operationId":"searchPersonFilters","parameters":[{"description":"Filter key to search within","in":"query","name":"filterKey","required":true,"schema":{"type":"string"}},{"description":"Search keyword or phrase. Single characters valid; stop words rejected.","example":"AI","in":"query","name":"search","required":true,"schema":{"type":"string"}},{"description":"Page index is fixed to 0 for filter search","example":0,"in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"The size of the page to be returned; filter-search default 20, maximum 100.","example":20,"in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityFilterSearchResult"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Search people filter options","tags":["Person Metadata"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/lookup":{"post":{"description":"Returns status MATCHED, NO_MATCH, or NEEDS_REVIEW. MATCHED: match.owner.personId is the person; read them with GET /v1/people/{personId} (CLI: people get) or queue research on them with POST /v1/people/{personId}/enrichments (CLI: people enrichments enrich). NO_MATCH: no record you can see is this person; a caller with write access creates them. NEEDS_REVIEW: show candidate (most probable first) to the user and ask which one it is or whether the person is new, then use the chosen candidate's owner.personId; never create on NEEDS_REVIEW. Resending with their LinkedIn profile URL settles it without a model call when a stored record holds that URL. stage names the step that settled it: DETERMINISTIC (URL proof, no model call), JUDGMENT (decision model), or WEB_EVIDENCE (added a web search). Send their LinkedIn or personal URL whenever you have it, and employer and title as context; the same name at a different employer is a different person. For the full detail of an exact slug or URL use GET /v1/people/lookup-exact. Example body: {\\"name\\":\\"Jane Doe\\",\\"context\\":\\"CEO at Acme AI\\"}.","operationId":"lookupPerson","parameters":[{"description":"Also considers hidden and unpublished records; needs private-visibility authority. Without it, NO_MATCH covers only records you can see.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentificationSubject"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Identification"}},"text/plain":{"schema":{"type":"string"}}},"description":"The identification as canonical JSON or compact text/plain.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The signed-in caller's plan does not include natural search."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The caller's natural-search quota is spent; retry after the Retry-After seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Find which person a name refers to, or confirm they are new","tags":["Search"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/people/lookup-batch":{"post":{"description":"Enrich multiple people by id or slug with optional url, association, and address. When page and size are omitted, the full deduplicated batch is returned in request order. Sort is not supported for this fixed-order batch response. A signed-in user's read charges one view per distinct returned record against the monthly entity or person view allowance; a repeat read of the same record in the month is free, and an exhausted cap answers 429 with Retry-After.","operationId":"lookupPersonBatch","parameters":[{"description":"Includes private fields when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N); omit page and size for the full batch.","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","description":"Zero-based page index (0..N); omit page and size for the full batch."}},{"description":"The size of the page to be returned; omit page and size for the full batch.","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","description":"The size of the page to be returned; omit page and size for the full batch."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonLookupBatch"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagePersonDetail"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Look up people in bulk by id or slug","tags":["People"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/people/lookup-exact":{"get":{"description":"Exact read: returns the full detail of the one person a slug, URL, or candidate signals prove, and 404 or 409 instead of guessing. To identify a person by name and clues, use the POST lookup (CLI people lookup). Use the UUID item route for an id; any id query is rejected. Canonical redirects are preserved. A signed-in user's read charges one view per distinct returned record against the monthly entity or person view allowance; a repeat read of the same record in the month is free, and an exhausted cap answers 429 with Retry-After.","operationId":"getPersonLookup","parameters":[{"description":"Group A — exact person slug (URL-friendly identifier). Mutually exclusive with id, url, and every candidate signal in group C.","in":"query","name":"slug","required":false,"schema":{"type":"string","description":"Group A — exact person slug (URL-friendly identifier). Mutually exclusive with id, url, and every candidate signal in group C."}},{"description":"Group B — current person URL to resolve via strict host+path or domain-only match. Mutually exclusive with id and slug; may be combined with group-C candidate signals for URL-first fallback.","in":"query","name":"url","required":false,"schema":{"type":"string","description":"Group B — current person URL to resolve via strict host+path or domain-only match. Mutually exclusive with id and slug; may be combined with group-C candidate signals for URL-first fallback."}},{"description":"Optional URL type qualifier for URL lookup (e.g., 'linkedin', 'twitter'). Narrows Group B (url) and Group C (urlDomain) matching. Not an identifier on its own.","example":"linkedin","in":"query","name":"urlType","required":false,"schema":{"type":"string","description":"Optional URL type qualifier for URL lookup (e.g., 'linkedin', 'twitter'). Narrows Group B (url) and Group C (urlDomain) matching. Not an identifier on its own.","example":"linkedin"}},{"description":"URL match mode qualifier: 'hostPath' (strict host + path match, default) or 'domain' (host-only match). Not an identifier on its own.","in":"query","name":"urlMatchMode","required":false,"schema":{"type":"string","description":"URL match mode qualifier: 'hostPath' (strict host + path match, default) or 'domain' (host-only match). Not an identifier on its own."}},{"description":"Group C — candidate lookup signal: person full name. Combine with other group-C signals (nameAny, location, urlDomain) for bounded candidate search. Mutually exclusive with id and slug; may be combined with url for fallback.","in":"query","name":"nameFull","required":false,"schema":{"type":"string","description":"Group C — candidate lookup signal: person full name. Combine with other group-C signals (nameAny, location, urlDomain) for bounded candidate search. Mutually exclusive with id and slug; may be combined with url for fallback."}},{"description":"Group C — candidate lookup signal: loose name match (any of given/family/full). Combine with other group-C signals for disambiguation. Mutually exclusive with id and slug; may be combined with url for fallback.","in":"query","name":"nameAny","required":false,"schema":{"type":"string","description":"Group C — candidate lookup signal: loose name match (any of given/family/full). Combine with other group-C signals for disambiguation. Mutually exclusive with id and slug; may be combined with url for fallback."}},{"description":"Group C — candidate lookup signal: person location (city, state, country). Combine with other group-C signals for bounded search. Mutually exclusive with id and slug; may be combined with url for fallback.","in":"query","name":"location","required":false,"schema":{"type":"string","description":"Group C — candidate lookup signal: person location (city, state, country). Combine with other group-C signals for bounded search. Mutually exclusive with id and slug; may be combined with url for fallback."}},{"description":"Group C — candidate lookup signal: person URL domain (host only, no path). Combine with other group-C signals for disambiguation. Mutually exclusive with id and slug; may be combined with url for fallback.","in":"query","name":"urlDomain","required":false,"schema":{"type":"string","description":"Group C — candidate lookup signal: person URL domain (host only, no path). Combine with other group-C signals for disambiguation. Mutually exclusive with id and slug; may be combined with url for fallback."}},{"description":"Projection qualifier — include URL link values in response (default: true). Set false to omit urlLink array.","in":"query","name":"includeUrl","required":false,"schema":{"type":"boolean","description":"Projection qualifier — include URL link values in response (default: true). Set false to omit urlLink array."}},{"description":"Projection qualifier — include association values (default: true). Set false to omit association array.","in":"query","name":"includeAssociation","required":false,"schema":{"type":"boolean","description":"Projection qualifier — include association values (default: true). Set false to omit association array."}},{"description":"Projection qualifier — include address values (default: true). Set false to omit address array.","in":"query","name":"includeAddress","required":false,"schema":{"type":"boolean","description":"Projection qualifier — include address values (default: true). Set false to omit address array."}},{"description":"Projection qualifier — max association values to return; bounded internally to the association limit. Default: 40.","in":"query","name":"maxAssociations","required":false,"schema":{"type":"integer","format":"int32","description":"Projection qualifier — max association values to return; bounded internally to the association limit. Default: 40."}},{"description":"Permit generated monogram photo fallback (default: true). Set false to exclude monogram photos in response.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean","description":"Permit generated monogram photo fallback (default: true). Set false to exclude monogram photos in response."}},{"description":"Includes hidden or off-sitemap people and private fields when the caller has private-visibility authority.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean","description":"Includes hidden or off-sitemap people and private fields when the caller has private-visibility authority."}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonDetail"}},"text/plain":{"schema":{"type":"string"}}},"description":"Person detail as canonical JSON or compact text.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"301":{"description":"Canonical person URL redirect","headers":{"Location":{"description":"Redirect target","style":"simple"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"No person resolved: exact URL and bounded candidate signals are exhausted, which does not prove the record is absent — search before creating. An existing but filtered row instead reports its reason as the ProblemDetail title: Person Exists but Is Not Public (retry with includePrivate=true)."},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Ambiguous identity: a strict-URL match or candidate set still at the review threshold resolves to more than one person. ProblemDetail carries details.candidate; review those ids, update the matching candidate, and create only when all candidates are distinct and source evidence supports the target. score and threshold are review ranking, not absence proof. Resolve directly by personId."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Read one person's full detail by exact slug or URL","tags":["People"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/natural-search":{"post":{"deprecated":true,"description":"Deprecated: use search natural people (POST /v1/search/natural/people) with the same body and parameters.","operationId":"searchPeopleByNaturalLanguage","parameters":[{"description":"When false, generated monogram pictures are stripped from person rows.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Includes hidden or off-sitemap people when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonNaturalSearch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonNaturalSearchResult"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Deprecated: find people in natural language","tags":["Natural Search"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/people/search":{"post":{"description":"Browse, filter, and search person, people, and individual records in the people domain; returns a paginated people list matching a filter request body. semanticQuery uses the live priority embeddings tier and returns semanticMatch evidence. Without semanticQuery or search, a default-sorted page emits an X-Next-Cursor keyset continuation; send it back as cursor, without sort, to read the next page.","operationId":"searchPeople","parameters":[{"description":"When true, return only the page total in the body and skip the content payload.","in":"query","name":"countOnly","required":false,"schema":{"type":"boolean"}},{"description":"When true, sort people who have a photo before those who do not.","in":"query","name":"hasImageFirst","required":false,"schema":{"type":"boolean"}},{"description":"When false, monogram fallback logos are stripped from the response. Defaults to true.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Includes hidden, unverified, and not-yet-published records when the caller has private-visibility authority. Omit to use the caller's default visibility.","example":false,"in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Opaque continuation from X-Next-Cursor. Repeat the same filters and size; a semantic cursor also repeats sort, a keyset cursor omits it.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":25,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonFilter"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagePerson"}}},"description":"OK","headers":{"X-Next-Cursor":{"description":"Opaque continuation token when another page is available: a semantic window with semanticQuery, otherwise a keyset over the default sort","schema":{"type":"string"},"style":"simple"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Search people","tags":["People"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/people/texts/types":{"get":{"description":"Returns text type values accepted by person text rows.","operationId":"listPersonTextTypes","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TextTypeOption"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List the accepted person text types","tags":["Texts"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}":{"get":{"description":"Returns person detail by exact UUID. Use lookup for a slug, URL, or candidate signals. A signed-in user's read charges one view per distinct returned record against the monthly entity or person view allowance; a repeat read of the same record in the month is free, and an exhausted cap answers 429 with Retry-After.","operationId":"getPerson","parameters":[{"description":"Exact person UUID.","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Projection qualifier — include URL link values in response (default: true). Set false to omit urlLink array.","in":"query","name":"includeUrl","required":false,"schema":{"type":"boolean","description":"Projection qualifier — include URL link values in response (default: true). Set false to omit urlLink array."}},{"description":"Projection qualifier — include association values (default: true). Set false to omit association array.","in":"query","name":"includeAssociation","required":false,"schema":{"type":"boolean","description":"Projection qualifier — include association values (default: true). Set false to omit association array."}},{"description":"Projection qualifier — include address values (default: true). Set false to omit address array.","in":"query","name":"includeAddress","required":false,"schema":{"type":"boolean","description":"Projection qualifier — include address values (default: true). Set false to omit address array."}},{"description":"Projection qualifier — max association values to return; bounded internally to the association limit. Default: 40.","in":"query","name":"maxAssociations","required":false,"schema":{"type":"integer","format":"int32","description":"Projection qualifier — max association values to return; bounded internally to the association limit. Default: 40."}},{"description":"Permit generated monogram photo fallback (default: true). Set false to exclude monogram photos in response.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean","description":"Permit generated monogram photo fallback (default: true). Set false to exclude monogram photos in response."}},{"description":"Includes hidden or off-sitemap people and private fields when the caller has private-visibility authority.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean","description":"Includes hidden or off-sitemap people and private fields when the caller has private-visibility authority."}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonDetail"}},"text/plain":{"schema":{"type":"string"}}},"description":"Person detail as canonical JSON or compact text.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get one person by id","tags":["People"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/addresses":{"get":{"description":"Returns physical addresses with all role-period associations for one person.","operationId":"listPersonAddresses","parameters":[{"description":"Canonical person UUID","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Address"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a person's addresses","tags":["Person Addresses"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/addresses/{addressJoinId}":{"get":{"description":"Returns the physical address group containing the selected person association.","operationId":"getPersonAddress","parameters":[{"description":"Canonical person UUID","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Integer person-address association id","in":"path","name":"addressJoinId","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Address"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get one person's address","tags":["Person Addresses"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/blog-posts":{"get":{"description":"Returns active external blog post links stored in research.res_blog_article.","operationId":"listPersonBlogPosts","parameters":[{"description":"Person UUID owning the blog post rows","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Include inactive research blog post rows","in":"query","name":"includeInactive","required":false,"schema":{"type":"boolean","default":false}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":10,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","default":["publishedAt,desc"],"items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBlogPost"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a person's blog posts","tags":["Research Blog Posts"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/blog-posts/{blogPostId}":{"get":{"description":"Returns one person-owned external link by id. Any signed-in user may call this.","operationId":"getPersonBlogPost","parameters":[{"description":"Person UUID owning the blog post row","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Blog post UUID","in":"path","name":"blogPostId","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlogPost"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one person blog post","tags":["Research Blog Posts"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/content":{"get":{"description":"Returns news articles, blog posts, repositories, websites, and pages related to a person. Any signed-in user may call this.","operationId":"listPersonContent","parameters":[{"description":"Person UUID whose publications are listed.","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Topic key or source category.","in":"query","name":"topic","required":false,"schema":{"type":"string","description":"Topic key or source category."}},{"description":"Public content type filter.","in":"query","name":"contentType","required":false,"schema":{"$ref":"#/components/schemas/PublicationType"}},{"description":"Owner relation filter.","in":"query","name":"relation","required":false,"schema":{"$ref":"#/components/schemas/PublicationRelation"}},{"description":"Best-effort content year filter.","in":"query","name":"year","required":false,"schema":{"type":"integer","format":"int32","description":"Best-effort content year filter."}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Set true for first-page content-existence probes that do not need exact totals or stable ordering.","in":"query","name":"existenceProbe","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagePublication"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List a person's publications","tags":["Publications"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/content/facets":{"get":{"description":"Counts one person's content cards by topic and content type across the whole index, so filters show exact totals before every page loads. Any signed-in user may call this.","operationId":"listPersonContentFacets","parameters":[{"description":"Person UUID whose publications are counted.","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicationFacet"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Count a person's publications","tags":["Publications"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/content/search":{"post":{"description":"Translates plain-English constraints for one person's content index. Any signed-in user may call this.","operationId":"searchPersonContent","parameters":[{"description":"Person UUID whose publications are searched.","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NaturalSearch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagePublication"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Search a person's publications","tags":["Publications"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/enrichments":{"post":{"description":"Queues a run that researches the addressed person and updates their aVenture profile, owned by the authenticated caller. Take personId from match.owner when POST /v1/lookup or POST /v1/people/lookup returns MATCHED (CLI: lookup, people lookup). When a run for this person is already queued or running, returns that run instead of queuing and charging another; a new run spends one \`person\` research unit from the plan's research allowance. After the run completes, read the updated profile with GET /v1/people/{personId} (CLI: people get). Check the run's progress with GET /v1/harness/runs/{runId} (CLI: harness runs get).","operationId":"enrichPerson","parameters":[{"description":"Canonical person UUID.","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"COMPREHENSIVE (the default) researches the whole profile; INDIVIDUAL runs only the tasks named in taskPresetKey.","in":"query","name":"mode","required":false,"schema":{"$ref":"#/components/schemas/EnrichmentMode"}},{"description":"Model id for the run's lead agent; omit to use aVenture's default model.","in":"query","name":"model","required":false,"schema":{"type":"string"}},{"description":"Plain-language instruction for this run, such as which facts or sources to check first.","in":"query","name":"userPrompt","required":false,"schema":{"type":"string"}},{"description":"Task preset keys that scope or emphasize this run; at least one is required when mode is INDIVIDUAL, and an unknown key is a 400.","in":"query","name":"taskPresetKey","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarnessRun"}}},"description":"The queued enrichment run for the addressed person.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The authenticated caller's subscription tier does not include research runs."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Enrich one person","tags":["Harness"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/entities":{"get":{"description":"Returns entity associations for one person.","operationId":"listPersonEntityAssociations","parameters":[{"description":"Person UUID","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Return count metadata without full content","in":"query","name":"countOnly","required":false,"schema":{"type":"boolean"}},{"description":"Include entity URL records","in":"query","name":"includeUrl","required":false,"schema":{"type":"boolean"}},{"description":"Permit generated monogram logo fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Opaque URL-safe cursor token from X-Next-Cursor","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Includes hidden people and entity associations when the caller has private-visibility authority.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityPersonAssociation"}}},"description":"OK","headers":{"X-Next-Cursor":{"description":"Opaque continuation token when cursor traversal has another page.","schema":{"type":"string"},"style":"simple"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a person's roles at companies","tags":["Entity Person Associations"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/entities/{associationId}":{"get":{"description":"Returns one person-scoped association join row.","operationId":"getPersonEntityAssociation","parameters":[{"description":"Person UUID","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Association id","in":"path","name":"associationId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Include entity URL records","in":"query","name":"includeUrl","required":false,"schema":{"type":"boolean"}},{"description":"Permit generated monogram logo fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Includes hidden people and entity associations when the caller has private-visibility authority.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityPersonAssociation"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get one of a person's roles at a company","tags":["Entity Person Associations"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/graph":{"get":{"description":"Returns the precomputed person-graph document: career context per associated entity (entity facts, recent news, colleagues, similar entities with key people) and co-investors. Lists are capped and pre-ranked; the response is the display order. Hidden people and entities are excluded at materialization. When no document has been materialized yet, returns empty lists with computedAt=null and schedules an asynchronous recompute.","operationId":"getPersonGraph","parameters":[{"description":"Canonical person UUID","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonGraph"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get person graph","tags":["People"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/investments":{"get":{"description":"Returns a paginated investment portfolio for a person with investorAttribution. amountInvested appears only inside investorAttribution, is a plain decimal number in the fundraise transaction currency, and is not added to amount. Valid sort syntax is sort=amountInvested,desc; do not use investorAttribution.amountInvested, amount_invested, currency signs, currency codes, comma grouping, or abbreviated values.","operationId":"listPersonInvestments","parameters":[{"description":"Person unique identifier (UUID)","example":"01993139-fc26-768a-bdf3-c8396c184be7","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Permit monogram fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":50,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagePersonInvestment"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List a person's investments","tags":["Person Investments"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/investor-activity":{"get":{"description":"Gets the investor-perspective activity aggregate (total investments, distinct portfolio companies, current portfolio count, exits, USD-attributed money totals, and top investment stages) for a person investor by personId. personId identifies the individual who supplied the capital — an angel or individual investor, not the company that raised the round.","operationId":"getPersonInvestorActivity","parameters":[{"description":"Person unique identifier (UUID)","example":"01993139-fc26-768a-bdf3-c8396c184be7","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityFundraiseInvestorActivity"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get person investor activity","tags":["Person Investments"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/media/{mediaType}":{"get":{"description":"Returns the person's attached photo. Empty slots return 404.","operationId":"getPersonMedia","parameters":[{"description":"Canonical person UUID","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Media slot; people serve photo.","in":"path","name":"mediaType","required":true,"schema":{"$ref":"#/components/schemas/MediaSlot"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaUpload"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get person photo","tags":["Person Media"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/repositories":{"get":{"description":"Returns the person's synced GitHub repositories, paged. Default sort is stargazerCount desc, then name.","operationId":"listPersonRepositories","parameters":[{"description":"Person UUID owning the repositories","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":50,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageGithubRepo"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List a person's GitHub repositories","tags":["Repositories"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/similar":{"get":{"description":"Returns people similar to the person at this address. Rows carry the person shape and per-row similarity provenance; load full detail through the person read endpoint. Results are ordered by similarity score (highest first). This endpoint does not support custom sorting. Any signed-in user may call this on every plan. The list is free: it never counts against the monthly record-view allowance, which charges only a separate full-detail view of one record.","operationId":"listPersonSimilarPeople","parameters":[{"description":"Person unique identifier (UUID)","example":"04e2bf9c-a100-72ad-83ff-ba69c647b30b","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"Permit monogram fallback","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Attribution token identifying the requesting surface; metrics-only","in":"header","name":"X-Request-Origin","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","default":10,"minimum":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagePersonSimilarityResult"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List people similar to one person","tags":["Semantic Similarity"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/texts":{"get":{"description":"Returns paginated text rows owned by the person. Inactive rows require read auth.","operationId":"listPersonTexts","parameters":[{"description":"Person UUID owning the text rows","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Include inactive text rows","in":"query","name":"includeInactive","required":false,"schema":{"type":"boolean","default":false}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":25,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityText"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List text about a person","tags":["Texts"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/texts/{textId}":{"get":{"description":"Returns one person-owned text row by id. Requires read auth.","operationId":"getPersonText","parameters":[{"description":"Person UUID owning the text row","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Text row id","in":"path","name":"textId","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityText"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one piece of text about a person","tags":["Texts"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/unique-ids":{"get":{"description":"Returns paginated external identifier mappings for one owner. Sort by id, idType, identifier, createdAt, or updatedAt; default is updatedAt descending.","operationId":"listPersonUniqueIds","parameters":[{"description":"Canonical person UUID.","example":"1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":50,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageUniqueId"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"List a person's identifiers","tags":["Identifiers"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/unique-ids/{uniqueIdId}":{"get":{"description":"Returns one external identifier mapping after verifying it belongs to the path owner.","operationId":"getPersonUniqueId","parameters":[{"description":"Canonical person UUID.","example":"1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Unique-id row id.","example":42,"in":"path","name":"uniqueIdId","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniqueId"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one person identifier","tags":["Identifiers"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/urls":{"get":{"description":"Returns paged primary current URL rows owned by a person. Set includeInactive=true as a signed-in user or with read credentials to include secondary active and inactive/historical rows.","operationId":"listPersonUrls","parameters":[{"description":"Person UUID owning the URL rows","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"Include secondary active and inactive/historical URL rows","in":"query","name":"includeInactive","required":false,"schema":{"type":"boolean","default":false}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":25,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageEntityUrlLink"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List person URLs","tags":["URL Links"],"x-aventure-visibility":{"scope":"public"}}},"/v1/people/{personId}/urls/{urlId}":{"get":{"description":"Returns one person-owned URL row by id. Requires read auth.","operationId":"getPersonUrl","parameters":[{"description":"Person UUID owning the URL row","in":"path","name":"personId","required":true,"schema":{"type":"string","format":"uuid","description":"Canonical person UUID"}},{"description":"URL link id","in":"path","name":"urlId","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityUrlLink"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Get one person URL","tags":["URL Links"],"x-aventure-visibility":{"scope":"public"}}},"/v1/resolve/{token}":{"get":{"deprecated":true,"description":"Deprecated: use POST /v1/lookup?legacy=true with body {\\"name\\":\\"<token>\\"}. Resolve any identifier token to its canonical entity or person. Tries UUID, then the stable public handle, then external registry ids, then the slug (with redirects). Returns 404 when nothing matches and 409 when an external id maps to multiple owners. A name or website URL is not a token; resolve it with the entity or person lookup.","operationId":"getResolvedHandle","parameters":[{"description":"Any identifier: a stable public handle (e.g. eV1StGXR8Z5a), a UUID, an external registry id (ticker, LEI, EIN, ...), or a slug.","in":"path","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolvedHandle"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Found","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Deprecated: find the record behind an id, slug, or URL","tags":["Search"],"x-aventure-visibility":{"scope":"public"}}},"/v1/search":{"post":{"description":"Searches enriched details across our company and people dataset from a plain-English query. Runs the canonical entity, person, and news search engines sequentially and returns their typed result pages with per-scope strategy provenance. Supports only auto and keyword modes; unsupported modes are rejected before any scope runs. Page and size apply to every scope; cross-domain sort is not supported.","operationId":"searchFederated","parameters":[{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","minimum":1}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NaturalSearch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FederatedSearch"}}},"description":"Ranked matches across every federated record type.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The authenticated caller's subscription does not include this search."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Search companies, people, and news together","tags":["Search"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/search/all":{"post":{"deprecated":true,"description":"Deprecated: use search (POST /v1/search) with the same body.","operationId":"searchAll","parameters":[{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","minimum":1}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NaturalSearch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FederatedSearch"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Deprecated: search companies, people, and news together","tags":["Search"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/search/link":{"get":{"description":"Fetches the page at the supplied URL, identifies the single company, product, or person the page is primarily about, and returns the federated entity, person, and news results for that name together with the synthesized query itself. A page whose content cannot be read returns 404; a fetch or inference failure returns a problem (503 only when a retry can succeed), never an empty result. For direct URL-to-record identity resolution use the entities lookup operation with the url instead.","operationId":"searchLink","parameters":[{"description":"Public article or page URL to search from","example":"https://example.com/article","in":"query","name":"url","required":true,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","format":"int32","minimum":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkSearch"}}},"description":"Records reachable from the submitted link.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The authenticated caller's subscription does not include this search."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Search from a page URL","tags":["Search"],"x-aventure-visibility":{"scope":"public"}}},"/v1/search/natural/entities":{"post":{"description":"Translate a plain-English company, startup, investor, investment firm, or investment manager search into the canonical EntityFilter contract, execute the existing entity list engine, and return both the interpretation and ranked entity list page. Unsupported constraints are named in the interpretation instead of being silently ignored. Explicit filter fields are hard constraints: they override planner values, while the planner fills fields left unset. Example: search.query 'AI infrastructure companies founded since 2020' with size=3. The query accepts plain English; size limits the page, page starts at 0, and filter.yearFoundedRange [{\\"min\\":2020}] imposes a hard founding-year constraint. Set includePrivate=false for publicly visible results.","operationId":"searchNaturalEntities","parameters":[{"description":"When false, generated monogram logos are stripped from entity rows.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Includes hidden or off-sitemap entities when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNaturalSearch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NaturalSearchResult"}}},"description":"Ranked entity matches for the interpreted query.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The authenticated caller's subscription does not include this search."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Find companies, startups, and investors in natural language","tags":["Natural Search"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/search/natural/people":{"post":{"description":"Translate a plain-English people search into the canonical PersonFilter contract, execute the existing people list engine, and return both the interpretation and ranked people page. Broad role and profile requests use person semantic search. Explicit filter fields are hard constraints: they override planner values, while the planner fills fields left unset.","operationId":"searchNaturalPeople","parameters":[{"description":"When false, generated monogram pictures are stripped from person rows.","in":"query","name":"permitMonogram","required":false,"schema":{"type":"boolean"}},{"description":"Includes hidden or off-sitemap people when the caller has private-visibility authority. Omit to use the caller's default visibility.","in":"query","name":"includePrivate","required":false,"schema":{"type":"boolean"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":40,"minimum":1}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonNaturalSearch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonNaturalSearchResult"}}},"description":"Ranked person matches for the interpreted query.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"402":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"The authenticated caller's subscription does not include this search."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Find people with natural language","tags":["Natural Search"],"x-aventure-tool":{"auth":"read"},"x-aventure-visibility":{"scope":"public"}}},"/v1/status":{"get":{"description":"Returns the API's uptime SLA and the identity of the served operation set; use it to confirm the API is reachable.","operationId":"getSystemStatus","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemStatus"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"Get system uptime","tags":["System"],"x-aventure-tool":{"auth":"none"},"x-aventure-visibility":{"scope":"public"}}},"/v1/unique-ids/lookup":{"get":{"description":"Resolves an external identifier to its owner(s). idType accepts a canonical token or alias; the value is normalized per type before matching. Returns every owner that carries the identifier (a value can recur across owners, e.g. a reused ticker), each row carrying its entityId or personId.","operationId":"lookupUniqueId","parameters":[{"description":"Identifier type token or alias, for example ein.","example":"ein","in":"query","name":"idType","required":true,"schema":{"type":"string"}},{"description":"Identifier value to resolve.","example":"12-3456789","in":"query","name":"identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UniqueId"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Look up an identifier owner","tags":["Identifiers"],"x-aventure-visibility":{"scope":"public"}}},"/v1/unique-ids/types":{"get":{"description":"Lists the recognized external identifier types (ein, secCik, ticker, lei, duns, isin, cusip, crd, orcid) with each type's label, accepted aliases, owner scope (entity and/or person), and the format pattern a value must match on write.","operationId":"listUniqueIdTypes","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UniqueIdTypeAlias"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List the accepted unique identifier types","tags":["Identifiers"],"x-aventure-visibility":{"scope":"public"}}},"/v1/url-types":{"get":{"description":"Returns the canonical URL types and aliases accepted by entity and person URL rows. One catalog serves both owners.","operationId":"listUrlTypes","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UrlTypeAlias"}}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"summary":"List URL types","tags":["URL Links"],"x-aventure-tool":{"auth":"none"},"x-aventure-visibility":{"scope":"public"}}},"/v1/web/search":{"post":{"description":"Runs a live web search, returns a stored result when a fresh version exists, and durably records fresh results in the source-document store. Each successful search uses one web search from the signed-in account's monthly allowance. Past it, a subscriber with additional usage on pays 2.5 cents per search; otherwise the call answers 429 with a usage-limit message and upgrade links. A query naming too few distinct words (a bare brand, or a brand plus a number) is refused with 422 before any provider call or charge; name what you are looking for and a disambiguator such as the domain.","operationId":"searchWeb","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Search"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebSearch"}}},"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Bad Request","x-aventure-standard-response":true},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unauthorized","x-aventure-standard-response":true},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Forbidden","x-aventure-standard-response":true},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Not Acceptable","x-aventure-standard-response":true},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Conflict","x-aventure-standard-response":true},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unsupported Media Type","x-aventure-standard-response":true},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Unprocessable Content","x-aventure-standard-response":true},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Too Many Requests","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"x-aventure-standard-response":true},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Internal Server Error","x-aventure-standard-response":true},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}},"description":"Service Unavailable","headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}},"x-aventure-standard-response":true}},"security":[{"bearerAuth":[]}],"summary":"Search the live web","tags":["Search"],"x-aventure-visibility":{"scope":"public"}}}}`),components:JSON.parse('{"schemas":{"SystemBuild":{"type":"object","description":"Build metadata exposed by the public info alias","properties":{"build":{"$ref":"#/components/schemas/SystemBuildDetail","description":"Application build metadata"}},"required":["build"]},"ProblemDetail":{"type":"object","description":"RFC 9457 problem response with aVenture extensions.","properties":{"allowanceType":{"type":["string","null"],"description":"Which monthly allowance a BILLING_ALLOWANCE refusal exhausted.","enum":["COMPANY","PERSON","ENTITY_VIEW","PERSON_VIEW","WEB_SEARCH"]},"circuitBreaker":{"type":["string","null"]},"code":{"type":["string","null"],"description":"Machine-readable secondary code on ProblemDetail.code. Agents should branch on this value when the HTTP status alone does not identify the recovery path. Code groups include auth/session, rate limiting, job infrastructure, RBAC, external providers, image processing, R2 storage, search, and inference. Many codes indicate infra/admin-only conditions where the correct agent action is to surface the error and stop, not retry.","enum":["not_authorized","rateLimited","rate_limited","subscription_required","subscription_canceled","subscription_past_due","subscription_paused","billing_allowance_exhausted","billing_additional_usage_cap_reached","origin_detail_capacity","origin_detail_shutdown","suspectedShellStrip","suspected_shell_strip","url_surface_misclassification","JOBRUNR_DISABLED","jobrunr_disabled","JOBRUNR_STORAGE_UNAVAILABLE","jobrunr_storage_unavailable","rbac_lookup_unavailable","GEOCODE_PROVIDER_ERROR","geocode_provider_error","image_blocklist_match","image_monochrome","image_too_small","image_wrong_aspect","image_monogram","image_unreadable","image_processing_error","image_brand_mismatch","web_crawl_fetch_failed","primary_website_missing","news_rss_feed_fetch_failed","news_rss_article_fetch_failed","r2_fetch_failed","r2_delete_failed","r2_upload_failed","source_document_body_unavailable","source_document_capture_limit_exceeded","news_similarity_embedding_unavailable","search_provider_not_configured","search_provider_error","sec_edgar_fetch_failed","github_fetch_failed","INFERENCE_PROVIDER_ERROR","inference_provider_error","INFERENCE_PROVIDER_RESPONSE_EMPTY","inference_provider_response_empty","INFERENCE_PROVIDER_INVALID_JSON","inference_provider_invalid_json","INFERENCE_PROFILES_MISSING","inference_profiles_missing","INFERENCE_PROFILE_API_KEY_MISSING","inference_profile_api_key_missing"],"x-enum-descriptions":["Caller is authenticated but lacks the required role for this operation. Agent action: surface the requiredRole field on the ProblemDetail and stop; do not retry without role escalation.","Request was throttled. Agent action: wait at least retryAfterSeconds (also in the Retry-After header), then increase the delay exponentially on repeated 429s. When resetAt is present, wait until that time instead of retrying the exhausted monthly allowance.","Request was throttled. Agent action: wait at least retryAfterSeconds (also in the Retry-After header), then increase the delay exponentially on repeated 429s. When resetAt is present, wait until that time instead of retrying the exhausted monthly allowance.","Caller is authenticated but the subscription on their account does not include this operation. Agent action: surface ProblemDetail.detail explaining the subscription requirement and stop. The identical request cannot succeed until the account changes plan, so never retry it.","Caller\'s subscription was canceled or its first payment expired unpaid, so it no longer includes this operation. Agent action: surface ProblemDetail.detail and stop; the account must subscribe again through the resolution\'s Checkout endpoint before the identical request can succeed.","Caller\'s subscription has a failed or unfinished payment, so it does not include this operation until the payment succeeds. Agent action: surface ProblemDetail.detail and stop; the account must update its payment method through the resolution\'s Billing Portal endpoint.","Caller\'s subscription is paused, so it does not include this operation. Agent action: surface ProblemDetail.detail and stop; the account must resume the subscription through the resolution\'s Billing Portal endpoint.","The caller\'s metered allowance for this operation is spent for the current period. Agent action: stop and report ProblemDetail.allowanceType, limit, used, remaining, and resetAt; resetAt is when the meter refills and is typically weeks away. Do not retry inside the period even though the status is 429.","The caller\'s monthly allowance is spent and the next additional-usage unit would pass the monthly spend cap or the prepaid credit left. Agent action: stop and report ProblemDetail.allowanceType, limit, used, remaining, and resetAt; raise the cap or buy credit through /v1/billing/additional-usage, or wait for resetAt.","Detail-origin cold-miss coalescing is saturated. Agent action: treat as backend capacity impairment, back off, and inspect backend pool/bulkhead metrics; this is not a caller throttle.","Detail-origin cold-miss scheduler rejected work because this instance is shutting down for a redeploy. Agent action: retry shortly; the platform routes the retry to a healthy instance. This is deploy-window noise, not a capacity defect — do not treat it as backend saturation.","Request prose looks shell-mangled around a money phrase: either shell expansion stripped a leading dollar sign (\'50 million\' where \'$50 million\' was meant) or an escape character survived into the text (\'\\\\$50 million\', standalone \'/$50 million\'). Agent action: write \'$\' literally and re-send the JSON body from a file or stdin, or quote it so the shell does not expand \'$\'; use allowSuspectedShellStrip only when the value is intentional.","Request prose looks shell-mangled around a money phrase: either shell expansion stripped a leading dollar sign (\'50 million\' where \'$50 million\' was meant) or an escape character survived into the text (\'\\\\$50 million\', standalone \'/$50 million\'). Agent action: write \'$\' literally and re-send the JSON body from a file or stdin, or quote it so the shell does not expand \'$\'; use allowSuspectedShellStrip only when the value is intentional.","A URL was submitted to the wrong write surface. Agent action: move the URL to the specific surface named by ProblemDetail.hint/resolution, for example EntityUrl.urlType=ycombinator via entities urls create instead of News.newsUrlOriginal.","JobRunr background worker is disabled in this environment. Agent action: stop (this is an admin/ops configuration condition, not a retriable user error).","JobRunr background worker is disabled in this environment. Agent action: stop (this is an admin/ops configuration condition, not a retriable user error).","JobRunr backing storage (Postgres) is unavailable. Agent action: stop; retrying will not help until DB connectivity is restored.","JobRunr backing storage (Postgres) is unavailable. Agent action: stop; retrying will not help until DB connectivity is restored.","RBAC role lookup failed (app_user read did not return). Agent action: retry once; persistent failure indicates a database outage.","Geocoding provider (Google Maps Platform) call failed. Agent action: surface the error; address fields can be submitted without normalization as a fallback.","Geocoding provider (Google Maps Platform) call failed. Agent action: surface the error; address fields can be submitted without normalization as a fallback.","Image upload matched a blocklist entry (visually similar to a known bad asset). Agent action: do not retry the same image; supply a different image or stop.","Image upload was blank or a flat monochrome canvas. Agent action: supply a source image with visible logo or photo detail; retrying the same bytes will not pass.","Image upload failed minimum dimension/file-size check. Agent action: supply a higher-resolution source image; retrying the same one will not pass.","Image upload\'s visible content is a wide banner/wordmark when a square logo or photo was required. Agent action: supply a square (or near-square) source image — a favicon, app icon, square logo, or cropped headshot — not a horizontal wordmark or og:image banner; retrying the same bytes will not pass.","Image upload was classified as a monogram (single letter / generated initial) when a real photograph or logo was required. Agent action: supply a non-monogram image or set permitMonogram=true on the read endpoint if a monogram is acceptable for the use case.","Image upload could not be decoded (corrupt file, unsupported format). Agent action: supply a valid PNG/JPEG/WebP; retrying the same bytes will not pass.","Image processing pipeline (resize/encode/hash) threw an unexpected error. Agent action: retry once; persistent failure indicates an infra issue.","Logo/photo upload was rejected because the server-side brand-match vision check found it does not depict the target\'s own brand (a generic favicon, a parent/provider/acquirer mark, an OpenGraph/banner/social card, or an unrelated image). Agent action: supply the target entity\'s OWN brand mark and re-run; retrying the same image, or any generic/og/banner/parent asset, will not pass.","An outbound fetch from an external target site (robots.txt, sitemap, page, or logo or thumbnail image) failed after retries or with the breaker open. Agent action: the failure belongs to the target; crawl jobs may fall back to rendered extraction; do not retry immediately.","A crawl-run request named an entity or person that has no current primary website URL. Agent action: add or activate the owner\'s website URL, then resubmit; retrying the unchanged request cannot succeed.","RSS news-ingest feed fetch failed after retries or with the breaker open. Agent action: inspect the configured feed URL and upstream status; do not retry the enqueue immediately.","RSS news-ingest article page fetch failed after retries or with the breaker open. Agent action: inspect the source article URL and upstream status; the ingest job may skip that article.","Cloudflare R2 object fetch failed during a read operation. Agent action: retry once with backoff; persistent failure indicates R2 outage or asset deletion.","Cloudflare R2 object delete failed during a cleanup operation. Agent action: surface; retrying may produce duplicate-delete errors.","Cloudflare R2 object upload failed during a write operation. Agent action: retry once with the same payload; persistent failure indicates R2 outage.","Stored source-document raw bytes could not be served: the row\'s inline-or-R2 raw authority is incomplete or failed digest verification. Agent action: surface; the stored authority needs operator reconciliation before this body can be read.","A source-document capture stopped before retaining a provider response over this service\'s configured byte limit. Agent action: this is a designed containment boundary, not a provider outage or a service defect; do not retry the same request expecting a different outcome.","News similarity cannot run because the target embedding is unavailable or live similarity capacity is full. Agent action: surface the 503 and retry later; this endpoint does not fall back to lexical ranking.","The web search provider is not configured for this environment. Agent action: stop; admin/ops must configure the provider key before this endpoint will succeed.","Search provider call failed. Agent action: surface; provider outages affect search endpoints only.","SEC EDGAR lookup failed (ticker catalog or company submissions). Agent action: surface; SEC outages or rate limiting affect the public-company preview endpoint only.","GitHub repository fetch failed (account, listing, or single repo). Agent action: surface; GitHub outages or rate limiting affect github-repo sync endpoints only.","LLM inference provider call failed. Agent action: retry once with backoff; persistent failure indicates provider outage or invalid profile config.","LLM inference provider call failed. Agent action: retry once with backoff; persistent failure indicates provider outage or invalid profile config.","LLM inference provider returned an empty response body. Agent action: retry once; persistent empty responses indicate prompt or provider misconfiguration.","LLM inference provider returned an empty response body. Agent action: retry once; persistent empty responses indicate prompt or provider misconfiguration.","LLM inference provider returned a response that failed JSON parsing. Agent action: surface; the prompt or response schema may need adjustment.","LLM inference provider returned a response that failed JSON parsing. Agent action: surface; the prompt or response schema may need adjustment.","Inference profile catalog is missing or empty. Agent action: stop; admin/ops must configure inference profiles before this endpoint will succeed.","Inference profile catalog is missing or empty. Agent action: stop; admin/ops must configure inference profiles before this endpoint will succeed.","Inference profile is configured but its API key is missing from secret storage. Agent action: stop; admin/ops must populate the API key in secret storage.","Inference profile is configured but its API key is missing from secret storage. Agent action: stop; admin/ops must populate the API key in secret storage."]},"conflictingRecord":{"oneOf":[{"$ref":"#/components/schemas/CurrentSlugOwner"},{"type":"null"}]},"detail":{"type":"string"},"details":{"description":"Structured conflict details. Create duplicate reviews and deterministic lookup ambiguity return DuplicateCreateReview; the returned candidates are the decision surface for update, create-with-override, or block. score/threshold rank review priority and are not proof that the requested record is absent.","oneOf":[{"$ref":"#/components/schemas/DomainConflictDetails"},{"type":"null"}]},"error":{"type":["object","null"],"additionalProperties":{"type":"string"}},"existingRedirect":{"oneOf":[{"$ref":"#/components/schemas/RedirectSlugPath"},{"type":"null"}]},"feId":{"type":["string","null"]},"field":{"type":["string","null"]},"hammingDistance":{"type":["integer","null"],"format":"int64"},"hint":{"type":["string","null"]},"instance":{"type":"string","format":"uri"},"limit":{"type":["integer","null"],"format":"int64","description":"Cap the limitType meter allows for its current period."},"limitType":{"type":["string","null"],"description":"Which meter refused the request; names what limit/used/remaining count.","enum":["FORM","GLOBAL","SUBNET","IP","UNKNOWN","RESILIENCE4J","WEB_SEARCH","AGENT_HELP","NATURAL_SEARCH","BILLING_ALLOWANCE","BILLING_ADDITIONAL_USAGE","CLERK_PUBLIC_ADMISSION","CLERK_SCRIPT_LOAD","ORIGIN_DETAIL","INFERENCE_PROVIDER"]},"matchedBlocklistKey":{"type":["string","null"]},"mediaType":{"type":["string","null"]},"moderationReason":{"type":["string","null"]},"parseError":{"type":["string","null"]},"path":{"type":["string","null"]},"properties":{"type":"object","additionalProperties":{}},"remaining":{"type":["integer","null"],"format":"int64","description":"Cap minus used for the limitType meter, never negative."},"requiredRole":{"type":["string","null"]},"resetAt":{"type":["string","null"],"format":"date-time","description":"When the limitType meter refills and the request can succeed again."},"resolution":{"oneOf":[{"$ref":"#/components/schemas/ProblemResolution"},{"type":"null"}]},"retryAfterSeconds":{"type":["integer","null"],"format":"int64","description":"Seconds to wait before the same request can succeed. A BILLING_ALLOWANCE meter resets at the UTC month boundary, so this reaches weeks: read limitType before treating it as a burst backoff."},"spanId":{"type":["string","null"]},"status":{"type":"integer","format":"int32"},"suggestion":{"type":["string","null"]},"suggestions":{"type":["object","null"],"additionalProperties":{"type":"string"}},"suspectedFragment":{"type":["string","null"]},"title":{"type":"string"},"traceId":{"type":["string","null"]},"type":{"type":"string","format":"uri","anyOf":[{"type":"string","format":"uri"},{"$ref":"#/components/schemas/ProblemType"}]},"unknownParameters":{"type":["array","null"],"items":{"type":"string"}},"used":{"type":["integer","null"],"format":"int64","description":"Requests already charged against the limitType meter this period."},"validParameters":{"type":["array","null"],"items":{"type":"string"}},"value":{"type":["string","null"]},"windowSeconds":{"type":["integer","null"],"format":"int64","description":"Length of a rolling throttle window; absent for period meters."}}},"AgentHelpQuestion":{"type":"object","description":"A natural-language question about how to operate the platform, answered from the operation catalog, agent skills, and completion gates.","properties":{"model":{"type":["string","null"],"description":"Optional chat model that answers the question; null uses the configured default. A caller without admin authority may only choose an allowlisted model; an ineligible model is rejected with 422. Admin callers are unrestricted."},"question":{"type":"string","description":"The question to answer, in natural language.","example":"how do I attach a product URL?","minLength":1},"scope":{"description":"Optional scope restricting which operations the answer may recommend; null means all.","oneOf":[{"$ref":"#/components/schemas/HelpScope"},{"type":"null"}]}},"required":["question"]},"AgentHelp":{"type":"object","description":"Grounded natural-language help answer with citations to specific operations, skills, or completion gates. Unsupported questions abstain (LOW confidence) rather than guess.","properties":{"answer":{"type":"string","description":"Answer drawn only from the cited corpus; abstains when unsupported."},"citation":{"type":"array","description":"Corpus evidence backing the answer; empty when the model abstains.","items":{"$ref":"#/components/schemas/HelpCitation"}},"confidence":{"$ref":"#/components/schemas/Confidence","description":"Confidence the answer is fully supported by the cited corpus. LOW signals an abstention."}},"required":["answer","citation","confidence"]},"AgentInstructionManifest":{"type":"object","description":"Latest-pointer manifest at agents/manifest.json; written last by the sync pipeline.","properties":{"agent":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AgentInstructionPointer"},"description":"Sub-agent name to current version pointer"},"prompt":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AgentInstructionPointer"},"description":"Prompt name to current version pointer"},"skill":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AgentInstructionPointer"},"description":"Skill name to current version pointer"}},"required":["agent","prompt","skill"]},"AgentInstructionKind":{"type":"string","description":"Kinds of agent instruction documents stored under the agents/ prefix.","enum":["PROMPT","SKILL","AGENT"]},"AgentInstructionDetail":{"type":"object","description":"A resolved agent instruction document: its identity plus the markdown content.","properties":{"content":{"type":"string","description":"Markdown document content"},"core":{"$ref":"#/components/schemas/AgentInstruction","description":"Addressable identity of the document"}},"required":["content","core"]},"ApiKey":{"type":"object","description":"API key metadata; never contains the key secret","properties":{"createdAt":{"type":"string","format":"date-time","description":"Provider creation timestamp"},"description":{"type":["string","null"],"description":"Optional user-visible key description"},"expiresAt":{"type":["string","null"],"format":"date-time","description":"Provider expiry timestamp"},"id":{"type":"string","description":"API key identifier","pattern":"^ak_[0-9A-Fa-f]{32}$"},"lastUsedAt":{"type":["string","null"],"format":"date-time","description":"Most recent provider-recorded use timestamp"},"name":{"type":"string","description":"User-visible key name"},"revocationReason":{"type":["string","null"],"description":"Provider revocation explanation"},"scopes":{"type":"array","description":"Scopes assigned to this key","items":{"type":"string"}},"status":{"type":"string","description":"Provider-derived current lifecycle state","enum":["ACTIVE","REVOKED","EXPIRED"]},"subject":{"type":"string","description":"Account that owns the key"},"updatedAt":{"type":"string","format":"date-time","description":"Provider metadata update timestamp"}},"required":["createdAt","id","name","scopes","status","subject","updatedAt"]},"CliAuthorizationMutation":{"type":"object","description":"Creates a short-lived CLI authorization request bound to an ephemeral key","properties":{"clientLabel":{"type":["string","null"],"description":"Label for this CLI installation","example":"William\'s MacBook","maxLength":120,"minLength":1,"pattern":".*\\\\S.*"},"clientPlatform":{"description":"Coarse operating-system family","oneOf":[{"$ref":"#/components/schemas/CliAuthorizationClientPlatform"},{"type":"null"}]},"encryptionAlgorithm":{"description":"Requested hybrid encryption suite","oneOf":[{"$ref":"#/components/schemas/CliAuthorizationEncryptionAlgorithm"},{"type":"null"}]},"encryptionPublicKey":{"type":["string","null"],"description":"Base64-encoded DER SubjectPublicKeyInfo for an ephemeral RSA public key","maxLength":12000,"minLength":344}}},"CliAuthorizationStart":{"type":"object","description":"New CLI authorization handle and one-time poll credential","properties":{"comparisonCode":{"type":"string","description":"Human comparison code shown by both the CLI and browser"},"expiresAt":{"type":"string","format":"date-time","description":"Authorization request expiry timestamp"},"id":{"type":"string","format":"uuid","description":"Public authorization request identifier"},"intervalSeconds":{"type":"integer","format":"int64","description":"Minimum poll interval in seconds","minimum":1},"pollSecret":{"type":"string","description":"One-time high-entropy credential required to poll and acknowledge delivery","readOnly":true},"verificationUrl":{"type":"string","format":"uri","description":"Browser verification URL"}},"required":["comparisonCode","expiresAt","id","intervalSeconds","pollSecret","verificationUrl"]},"CliAuthorization":{"type":"object","description":"Browser-approved CLI authorization metadata. Secret poll and encrypted-delivery material are exposed only by their dedicated one-time response contracts.","properties":{"approvedAt":{"type":["string","null"],"format":"date-time","description":"Time the authenticated user approved this request"},"clientLabel":{"type":"string","description":"User-supplied label for the requesting CLI installation"},"clientPlatform":{"$ref":"#/components/schemas/CliAuthorizationClientPlatform","description":"Coarse client operating-system family"},"comparisonCode":{"type":"string","description":"Human comparison code shown by both the CLI and browser"},"consumedAt":{"type":["string","null"],"format":"date-time","description":"Time the CLI acknowledged durable local storage"},"createdAt":{"type":"string","format":"date-time","description":"Authorization request creation timestamp"},"expiresAt":{"type":"string","format":"date-time","description":"Time after which an unfinished request cannot be approved"},"id":{"type":"string","format":"uuid","description":"Public authorization request identifier"},"intervalSeconds":{"type":"integer","format":"int64","description":"Minimum server-directed poll interval in seconds","minimum":1},"keyReadyAt":{"type":["string","null"],"format":"date-time","description":"Time encrypted key delivery became available"},"status":{"$ref":"#/components/schemas/CliAuthorizationStatus","description":"Current broker lifecycle state"},"terminalAt":{"type":["string","null"],"format":"date-time","description":"Time this request entered its terminal state"},"terminalReason":{"description":"Non-secret terminal-state explanation","oneOf":[{"$ref":"#/components/schemas/CliAuthorizationTerminalReason"},{"type":"null"}]},"updatedAt":{"type":"string","format":"date-time","description":"Most recent lifecycle update timestamp"}},"required":["clientLabel","clientPlatform","comparisonCode","createdAt","expiresAt","id","intervalSeconds","status","updatedAt"]},"CliAuthorizationPoll":{"type":"object","description":"Current broker state and encrypted delivery when the key is ready","properties":{"delivery":{"description":"Encrypted one-time delivery, present only for KEY_READY","oneOf":[{"$ref":"#/components/schemas/CliAuthorizationDelivery"},{"type":"null"}]},"expiresAt":{"type":"string","format":"date-time","description":"Authorization request expiry timestamp"},"status":{"$ref":"#/components/schemas/CliAuthorizationStatus","description":"Current broker lifecycle state"},"terminalReason":{"description":"Non-secret terminal-state explanation","oneOf":[{"$ref":"#/components/schemas/CliAuthorizationTerminalReason"},{"type":"null"}]}},"required":["expiresAt","status"]},"AuthPermissionGrant":{"type":"object","description":"Auth permission grant","properties":{"permission":{"type":"array","items":{"type":"string"},"uniqueItems":true},"role":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"required":["permission","role"]},"AuthOperationFilter":{"type":"object","description":"Bounded generated API operations to authorize for the current session.","properties":{"operation":{"type":"array","description":"Generated API operation candidates to authorize.","items":{"$ref":"#/components/schemas/AuthOperation"},"maxItems":1000,"minItems":0}},"required":["operation"]},"AuthOperationAuthorization":{"type":"object","description":"Current permission grant, access class, and supplied API operations admitted by the live request authorization policy.","properties":{"operation":{"type":"array","description":"Supplied operations admitted by the current session.","items":{"$ref":"#/components/schemas/AuthOperation"}},"operationAccess":{"$ref":"#/components/schemas/AuthOperationAccess","description":"Highest access class represented by the current session."},"permissionGrant":{"$ref":"#/components/schemas/AuthPermissionGrant","description":"Existing role and permission grant for the current session."}},"required":["operation","operationAccess","permissionGrant"]},"AuthProviderCatalog":{"type":"object","properties":{"clerkPublishableKey":{"type":["string","null"],"description":"Publishable key for browser sign-in; absent when browser sign-in is unavailable","example":"pk_test_cmVmaW5lZC13aWxkY2F0LTMuY2xlcmsuYWNjb3VudHMuZGV2JA"},"oauthClient":{"description":"OAuth PKCE client configuration for the CLI; absent until its client configuration is complete","oneOf":[{"$ref":"#/components/schemas/AuthClient"},{"type":"null"}]}}},"ResearchAllowance":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int32","description":"Cap for the period; absent when the tier meters without a cap"},"remaining":{"type":["integer","null"],"format":"int32","description":"Cap minus used, never negative; absent when there is no cap"},"resetAt":{"type":"string","format":"date-time","description":"When used returns to zero and the next period starts"},"used":{"type":"integer","format":"int32","description":"Amount used so far in the period"}},"required":["resetAt","used"]},"BillingCheckoutMutation":{"type":"object","description":"Caller-selected plan and Checkout presentation for server-owned Checkout creation.","properties":{"plan":{"$ref":"#/components/schemas/BillingPlanType","description":"AI Plus or AI Pro plan to start through Checkout"},"uiMode":{"$ref":"#/components/schemas/BillingCheckoutUiMode","description":"How the caller presents Checkout; HOSTED_PAGE when omitted"}},"required":["plan"]},"BillingCheckout":{"type":"object","description":"Checkout Session destination or client secret and expiry without provider identifiers.","properties":{"clientSecret":{"type":["string","null"],"description":"Checkout Session client secret for Stripe.js initCheckout; set for ELEMENTS"},"expiresAt":{"type":"string","format":"date-time","description":"When the Checkout Session stops accepting payment"},"plan":{"$ref":"#/components/schemas/BillingPlanType"},"publishableKey":{"type":["string","null"],"description":"Stripe publishable key that loads Stripe.js; set for ELEMENTS"},"url":{"type":["string","null"],"format":"uri","description":"Hosted Checkout page to open in a browser; set for HOSTED_PAGE"}},"required":["expiresAt","plan"]},"BillingPlanChangeMutation":{"type":"object","description":"Caller-selected plan for changing a continuing AI Plus or AI Pro subscription.","properties":{"plan":{"$ref":"#/components/schemas/BillingPlanType","description":"AI Plus or AI Pro plan to move to; the current plan cancels a scheduled change"}},"required":["plan"]},"BillingPlanChangePreview":{"type":"object","description":"Preview of POST /v1/billing/plan-changes for the same plan: the amount charged on confirmation, when the plan takes effect, the renewal price after it, and the card that pays.","properties":{"amountDue":{"type":"integer","format":"int64","description":"Amount charged on confirmation in the currency\'s minor unit, after credit for unused time; 0 when the change waits for the period end"},"currency":{"type":"string","description":"ISO 4217 currency code.","example":"USD"},"effectiveAt":{"type":"string","format":"date-time","description":"When the plan would take effect: now, or the current period end"},"paymentMethod":{"description":"Card Stripe charges; absent when no card is on file","oneOf":[{"$ref":"#/components/schemas/BillingPaymentMethod"},{"type":"null"}]},"plan":{"$ref":"#/components/schemas/BillingPlanType","description":"Plan the subscription would move to"},"recurringPrice":{"$ref":"#/components/schemas/BillingRecurringPrice","description":"Recurring charge after the change"}},"required":["amountDue","currency","effectiveAt","plan","recurringPrice"]},"BillingPlanChange":{"type":"object","description":"Plan change outcome: an upgrade applies now with a prorated invoice, a downgrade waits for the current period end.","properties":{"effectiveAt":{"type":"string","format":"date-time","description":"When the plan takes effect: now, or the current period end"},"paymentClientSecret":{"type":["string","null"],"description":"PaymentIntent client secret of the same pending invoice, for Stripe.js to complete authentication or payment in the page; set exactly when paymentUrl is."},"paymentUrl":{"type":["string","null"],"format":"uri","description":"Hosted invoice to pay when the upgrade\'s prorated charge needs the customer; the upgrade applies only after it is paid. Absent when no payment is pending."},"plan":{"$ref":"#/components/schemas/BillingPlanType","description":"Plan the subscription moves to"},"publishableKey":{"type":["string","null"],"description":"Stripe publishable key for Stripe.js; set with paymentClientSecret"}},"required":["effectiveAt","plan"]},"BillingCatalog":{"type":"object","description":"Every self-serve subscription tier with its monthly allowance caps, every plan Checkout sells, and the prices of usage past those caps. The Unlimited tier is not sold through Checkout and is omitted.","properties":{"additionalUsage":{"type":"array","items":{"$ref":"#/components/schemas/BillingCatalogAdditionalUsage"}},"creditPack":{"type":"array","items":{"$ref":"#/components/schemas/BillingCatalogCreditPack"}},"invoiceIncrementCents":{"type":"array","description":"Invoice increments a USAGE_INVOICE subscriber may choose, in cents.","items":{"type":"integer","format":"int64"}},"plan":{"type":"array","items":{"$ref":"#/components/schemas/BillingCatalogPlan"}},"tier":{"type":"array","items":{"$ref":"#/components/schemas/BillingCatalogTier"}}},"required":["additionalUsage","creditPack","invoiceIncrementCents","plan","tier"]},"BillingPortal":{"type":"object","description":"Hosted Billing Portal destination without provider identifiers.","properties":{"url":{"type":"string","format":"uri"}},"required":["url"]},"BillingSubscription":{"type":"object","description":"Current plan (Essential, AI Plus, AI Pro, or Unlimited), subscription status, and monthly usage.","properties":{"additionalUsage":{"$ref":"#/components/schemas/BillingAdditionalUsage"},"allowance":{"$ref":"#/components/schemas/ResearchAllowanceUsage","description":"Used, cap, and reset time of each monthly allowance"},"cancelAtPeriodEnd":{"type":"boolean","description":"True when the plan is cancelled and ends at periodEnd"},"entitled":{"type":"boolean","description":"True while the subscription grants its paid tier"},"pendingPlan":{"description":"Plan a scheduled change moves the subscription to at pendingPlanAt; absent when nothing is scheduled","oneOf":[{"$ref":"#/components/schemas/BillingPlanType"},{"type":"null"}]},"pendingPlanAt":{"type":["string","null"],"format":"date-time","description":"When pendingPlan takes effect; absent when nothing is scheduled"},"periodEnd":{"type":["string","null"],"format":"date-time","description":"When the plan renews, or when access ends if cancelAtPeriodEnd"},"periodStart":{"type":["string","null"],"format":"date-time","description":"Start of the current billing period"},"plan":{"description":"Paid plan and billing cycle; absent without a paid subscription","oneOf":[{"$ref":"#/components/schemas/BillingPlanType"},{"type":"null"}]},"recurringPrice":{"description":"Subscribed renewal price before discounts; absent without a known paid Price","oneOf":[{"$ref":"#/components/schemas/BillingRecurringPrice"},{"type":"null"}]},"status":{"type":"string","enum":["NONE","INCOMPLETE","INCOMPLETE_EXPIRED","TRIALING","ACTIVE","PAST_DUE","CANCELED","UNPAID","PAUSED"]},"tier":{"type":"string","description":"Tier whose monthly allowances apply now","enum":["ESSENTIAL","PLUS","PRO","UNLIMITED"]}},"required":["additionalUsage","allowance","cancelAtPeriodEnd","entitled","status","tier"]},"EnrichmentBatch":{"type":"object","description":"Existing records to enrich in one call, with the run options every run shares","properties":{"entityId":{"type":"array","description":"Canonical entity UUIDs to enrich, filed in order before any person","items":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},"mode":{"$ref":"#/components/schemas/EnrichmentMode","description":"COMPREHENSIVE (the default) researches each whole profile; INDIVIDUAL runs only the tasks named in taskPresetKey"},"model":{"type":["string","null"],"description":"Model id for each run\'s lead agent; omit to use aVenture\'s default model"},"personId":{"type":"array","description":"Canonical person UUIDs to enrich, filed in order after every entity","items":{"type":"string","format":"uuid","description":"Canonical person UUID"}},"taskPresetKey":{"type":["array","null"],"description":"Task preset keys that scope or emphasize every run; at least one is required when mode is INDIVIDUAL, and an unknown key is a 400","items":{"type":"string"}},"userPrompt":{"type":["string","null"],"description":"Plain-language instruction for every run, such as which facts or sources to check first"}}},"Enrichment":{"type":"object","description":"One requested record\'s batch enrichment outcome: the filed run or the refusal","properties":{"record":{"$ref":"#/components/schemas/EntityPersonOwner","description":"The requested entity or person"},"refusal":{"description":"Why no run was filed; absent when run is set","oneOf":[{"$ref":"#/components/schemas/EnrichmentRefusalType"},{"type":"null"}]},"run":{"description":"The queued or reused run; absent when refusal is set","oneOf":[{"$ref":"#/components/schemas/HarnessRun"},{"type":"null"}]}},"required":["record"]},"EntityType":{"type":"string","description":"Canonical entity classification for the organization, product, and service records stored in the entity domain.","enum":["Company","Investment Firm","Fund","Nonprofit","Government","Organization","Business Line","Product","Service"]},"IntRange":{"type":"object","description":"Integer range for count-based filter criteria","properties":{"max":{"type":["integer","null"],"format":"int32","description":"Inclusive maximum integer."},"min":{"type":["integer","null"],"format":"int32","description":"Inclusive minimum integer."}}},"EntityOperatingStatus":{"type":"string","description":"Operating state accepted by entity filters and mutation endpoints. Acquired Subsidiary means the entity was acquired and still operates; Closed (Acquihire) means the entity was acquired for its team and is terminal, rendering like Closed everywhere; Acquired means the entity is terminal, folded into the buyer, or closed.","enum":["Operating","Acquired","Acquired Subsidiary","Closed","Closed (Acquihire)","Inactive"]},"EntityListQualityGate":{"type":"string","description":"Named quality gates for entity list endpoints.","enum":["NONE","COMPANY_LISTING_READY"]},"EntityUrlType":{"type":"string","description":"Canonical URL platform type such as website, linkedin, twitter, or github. Lifecycle facts belong on link flags such as isCurrent and isPrimary.","enum":["website","linkedin","twitter","github","facebook","instagram","tiktok","youtube","subreddit","forum","documentation","support","statuspage","changelog","roadmap","discord","crunchbase","wellfound","angellist","glassdoor","theorg","ycombinator","wikipedia","pitchbook","morningstar","bloomberg","nyse","nasdaq","g2","producthunt","trustpilot","alternativeto","gartnerpeerinsights","getapp","sourceforge","appstore","googleplay","capterra","trustradius","hubspotmarketplace","slackappdirectory","awsmarketplace","salesforceappexchange","chromewebstore","vscodemarketplace","npm","pypi","maven","dockerhub","homebrew","crates","huggingface"]},"UrlMatchMode":{"type":"string","description":"URL matching mode for URL-backed filters and duplicate checks.","enum":["hostPath","domain"]},"DecimalRange":{"type":"object","description":"Decimal range for monetary and numeric filter criteria","properties":{"max":{"type":["number","null"],"description":"Inclusive maximum decimal number, such as 220000 or 123456.78."},"min":{"type":["number","null"],"description":"Inclusive minimum decimal number, such as 220000 or 123456.78."}}},"PageEntityList":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityList"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"ClassificationCatalog":{"type":"object","description":"Full active entity classification taxonomy in one payload. Dormant registry tags are omitted from the catalog and surface through write-time 409 recovery instead.","properties":{"bucket":{"type":"array","items":{"$ref":"#/components/schemas/ClassificationCatalogBucket"}},"category":{"type":"array","items":{"$ref":"#/components/schemas/ClassificationCatalogCategory"}},"generatedAt":{"type":"string","format":"date-time"},"totalBucket":{"type":"integer","format":"int32"},"totalCategory":{"type":"integer","format":"int32"},"totalStandardizedClassification":{"type":"integer","format":"int32"},"totalTag":{"type":"integer","format":"int32"}},"required":["bucket","category","generatedAt","totalBucket","totalCategory","totalStandardizedClassification","totalTag"]},"PageClassification":{"type":"object","properties":{"content":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/EntityTag"},{"$ref":"#/components/schemas/StandardizedClassification"}]}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EntityTypeGroup":{"type":"string","description":"Canonical entity type groups for boundary-level scope selection.","enum":["Organization","Investor"]},"EntityFilterOptionSet":{"type":"object","description":"Available filter options for list endpoints","properties":{"arrayFilterEntry":{"type":"array","description":"Array filter entries","items":{"$ref":"#/components/schemas/EntityFilterEntry"}},"filtersMeta":{"description":"Metadata for the generated filter option set","oneOf":[{"$ref":"#/components/schemas/EntityFilterOptionSetMeta"},{"type":"null"}]},"rangeFilterEntry":{"type":"array","description":"Range filter entries","items":{"$ref":"#/components/schemas/EntityFilterEntry"}}},"required":["arrayFilterEntry","rangeFilterEntry"]},"EntityFilter":{"type":"object","additionalProperties":false,"description":"Entity list and search filters. GET flattens these fields as query parameters; POST accepts the same shape as JSON.","properties":{"acceleratorBrand":{"type":"array","description":"Accelerator brand or operator name.","items":{"type":"string"}},"acceleratorCohort":{"type":"array","description":"Accelerator batch or cohort label.","items":{"type":"string"}},"acceleratorName":{"type":"array","description":"Specific accelerator program name.","items":{"type":"string"}},"acceleratorStatus":{"type":"array","description":"Accelerator participation status.","items":{"type":"string"}},"affinity":{"type":"array","description":"Affinity provider organization names accepted by the companies list filter. Affinity rows are member -> provider; use provider names here, not member names.","items":{"type":"string"}},"employeeCountRange":{"type":"array","description":"Inclusive reported employee-count ranges, in employees.","items":{"$ref":"#/components/schemas/IntRange"}},"entityId":{"type":"array","description":"Restrict results to specific entity IDs.","items":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},"entityName":{"type":"array","description":"Exact normalized match against entity brand or legal names.","items":{"type":"string"}},"featured":{"type":["boolean","null"],"description":"Filter by featured status."},"fundraiseActivity":{"$ref":"#/components/schemas/EntityFundraiseFilterCriteria","description":"Fundraise activity"},"hasFundraising":{"type":["boolean","null"],"description":"Filter to entities with fundraise activity."},"headquartersCity":{"type":"array","description":"Headquarters city values.","items":{"type":"string"}},"headquartersCountry":{"type":"array","description":"Headquarters country values.","items":{"type":"string"}},"headquartersState":{"type":"array","description":"Headquarters state or region values.","items":{"type":"string"}},"industry":{"type":"array","description":"Industry classification values.","items":{"type":"string"}},"letter":{"type":["string","null"],"description":"First letter of the display name."},"location":{"type":"array","description":"Geographic classification values.","items":{"type":"string"}},"logoOption":{"$ref":"#/components/schemas/EntityFilterLogoOption","description":"Logo sort priority."},"mainProduct":{"type":"array","description":"Main product classification values.","items":{"type":"string"}},"operatingStatus":{"type":"array","description":"Operating states to include; omit to include every state.","items":{"$ref":"#/components/schemas/EntityOperatingStatus"}},"person":{"type":"array","description":"Associated person, matched by name.","items":{"type":"string"}},"portfolioHeadquartersCity":{"type":"array","description":"Portfolio-company headquarters city values.","items":{"type":"string"}},"portfolioHeadquartersCountry":{"type":"array","description":"Portfolio-company headquarters country values.","items":{"type":"string"}},"portfolioHeadquartersState":{"type":"array","description":"Portfolio-company headquarters state or region values.","items":{"type":"string"}},"qualityGate":{"$ref":"#/components/schemas/EntityListQualityGate","description":"Named server-owned list quality gate."},"slug":{"type":"array","description":"Restrict results to entity slugs.","items":{"type":"string","description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"}},"stage":{"type":"array","description":"Investment stage classification values.","items":{"type":"string"}},"suppressNonOperating":{"type":["boolean","null"],"description":"Suppress entities with terminal operating status."},"suppressZeroTotalRaised":{"type":["boolean","null"],"description":"Suppress entities whose total raised is zero."},"tag":{"type":"array","description":"General classification tag values.","items":{"type":"string"}},"textSearch":{"type":["string","null"],"description":"Non-blank keyword/full-text search term. Use natural-search for plain-English or multi-constraint company requests."},"typeCustomer":{"type":"array","description":"Customer-type classification values.","items":{"type":"string"}},"typeModel":{"type":"array","description":"Business-model classification values.","items":{"type":"string"}},"typeOwnership":{"type":"array","description":"Ownership-model classification values.","items":{"type":"string"}},"typeRecord":{"type":"array","description":"Entity type filter. Organization expands to Company, Investment Firm, Nonprofit, and Government; omit to include every entity type.","items":{"$ref":"#/components/schemas/EntityType"}},"typeRevenue":{"type":"array","description":"Revenue-model classification values.","items":{"type":"string"}},"typeTechnologyUsed":{"type":"array","description":"Technology-used classification values.","items":{"type":"string"}},"url":{"type":["string","null"],"description":"Current URL to match by normalized host and path."},"urlDomain":{"type":["string","null"],"description":"Current root domain to match when urlMatchMode=domain.","example":"example.com"},"urlMatchMode":{"$ref":"#/components/schemas/UrlMatchMode","description":"URL matching mode: hostPath uses host and path; domain uses the root domain.","example":"domain"},"urlType":{"description":"Restrict URL matching to one URL type.","example":"website","oneOf":[{"$ref":"#/components/schemas/EntityUrlType"},{"type":"null"}]},"yearFoundedRange":{"type":"array","description":"Inclusive founding-year ranges, in calendar years.","items":{"$ref":"#/components/schemas/IntRange"}}}},"EntityFilterRefinedFilters":{"type":"object","description":"Refined filters","properties":{"filter":{"type":"array","description":"Canonical filter entries for the active entity scope.","items":{"$ref":"#/components/schemas/EntityFilterEntry"}},"meta":{"$ref":"#/components/schemas/RefinementMeta","description":"Pagination and degradation state for this refinement."}},"required":["filter","meta"]},"EntityFilterSearch":{"type":"object","additionalProperties":false,"description":"Record representing a filter search request","properties":{"filterKey":{"type":"string","description":"Filter key","minLength":1},"limit":{"type":"integer","format":"int32","description":"Maximum number of search results"},"query":{"type":"string","description":"Query","minLength":1},"scopeFilter":{"$ref":"#/components/schemas/EntityFilter","description":"Entity filter scope applied to the option search"}},"required":["filterKey","limit","query","scopeFilter"]},"EntityFilterSearchResult":{"type":"object","description":"Typeahead search result pairing a filter key with matching option values","properties":{"filterKey":{"type":"string","description":"Canonical filter key searched"},"result":{"type":"array","description":"Matching option values","items":{"type":"string"}}},"required":["filterKey","result"]},"IdentificationSubject":{"type":"object","description":"The company or person to identify. Send the name plus every URL, location, and source you have; a website or profile URL usually settles the answer without any model call.","properties":{"context":{"type":["string","null"],"description":"Specific facts in plain words: product, industry, employer and title, or founder names. Generic words like startup add nothing.","example":"Online payments company","maxLength":2000,"minLength":0},"location":{"type":["string","null"],"description":"City, region, or country, such as Austin, TX. Tells namesakes apart; not proof on its own.","example":"San Francisco, CA","maxLength":2000,"minLength":0},"name":{"type":"string","description":"Name exactly as the source writes it, such as Acme AI or Jane Doe.","example":"Stripe","maxLength":200,"minLength":0},"sourceNewsId":{"type":["integer","null"],"format":"int32","description":"aVenture news id of the article that mentions the subject; an unknown id is a 400.","example":123456},"sourceUrl":{"type":["string","null"],"description":"URL of the article that mentions the subject; read from aVenture news when stored there, otherwise fetched.","example":"https://techcrunch.com/2024/01/01/example","maxLength":2000,"minLength":0},"url":{"type":"array","description":"URLs the subject owns: its website, its LinkedIn company or person profile, or a registry page. At most 10. Put articles in sourceUrl.","example":["https://stripe.com"],"items":{"type":"string"},"maxItems":10,"minItems":0}},"required":["name"]},"Identification":{"type":"object","description":"Which existing company or person record a subject is, how that was settled, and the candidates considered, most probable first.","properties":{"candidate":{"type":"array","description":"Records considered, most probable first.","items":{"$ref":"#/components/schemas/IdentificationCandidate"}},"detail":{"type":"string","description":"One sentence naming what settled the answer or what the user must decide."},"duplicate":{"type":"array","description":"Other stored records judged to be this same subject stored again: likely duplicate records to merge into match. Empty when none were found.","items":{"$ref":"#/components/schemas/IdentificationCandidate"}},"match":{"description":"The matched record when status is MATCHED.","oneOf":[{"$ref":"#/components/schemas/IdentificationCandidate"},{"type":"null"}]},"matchConfidence":{"type":["number","null"],"format":"double","description":"Decision-model confidence, 0 to 1, in its pick: the candidate it named as the subject, or, when it picked none, that no candidate is. Present whenever a judgment ran, including a none pick; absent when no judgment ran. The kind-agnostic lookup reports the side whose answer it returns."},"matchEvidenceProbability":{"type":["number","null"],"format":"double","description":"Decision-model probability, 0 to 1, that the evidence can tell the subject apart from namesakes. Absent when no judgment ran. The kind-agnostic lookup reports the side whose answer it returns."},"officialUrl":{"type":["string","null"],"description":"The subject\'s own website or profile page found in web search. Use it as the website when creating the record only if it is the subject\'s own domain, not a LinkedIn, Crunchbase, or other profile page."},"stage":{"type":"string","description":"The ladder step that settled the answer.","enum":["DETERMINISTIC","JUDGMENT","WEB_EVIDENCE"]},"status":{"type":"string","description":"What the caller does next: act on match, create, or ask the user.","enum":["MATCHED","NO_MATCH","NEEDS_REVIEW"]}},"required":["candidate","detail","duplicate","stage","status"]},"EntityDetailBatch":{"type":"object","additionalProperties":false,"description":"Batch request for entity detail retrieval by id, slug, or current joined URL","properties":{"entityId":{"type":"array","description":"Entity UUID values","items":{"type":"string","format":"uuid"}},"permitMonogram":{"type":["boolean","null"],"default":true,"description":"Permit monogram fallbacks"},"slug":{"type":"array","description":"Entity slug values","items":{"type":"string"}},"url":{"type":"array","description":"Current joined entity URL values","items":{"type":"string"}}}},"PageEntityDetail":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityDetail"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EntityDetail":{"type":"object","description":"\\n Full entity detail response: core entity, enrichment, governed research,\\n relationships, external identifiers, fundraising, news, people, and sitemap eligibility.\\n Core identity and naming fields live under core.\\n ","properties":{"core":{"$ref":"#/components/schemas/Entity","description":"Core entity identity, naming, status, image, and source metadata."},"enrichment":{"$ref":"#/components/schemas/EntityEnrichment","description":"Entity enrichment: addresses, classification, funding summary, text, and URL links."},"fundraiseRound":{"type":"array","description":"Fundraise rounds associated with this entity.","items":{"$ref":"#/components/schemas/EntityFundraiseTransaction"}},"newsArticle":{"type":"array","description":"News articles associated with this entity.","items":{"$ref":"#/components/schemas/News"}},"person":{"type":"array","description":"People associated with this entity.","items":{"$ref":"#/components/schemas/PersonDetail"}},"publicUrl":{"type":["string","null"],"description":"Absolute canonical public URL when this detail has a renderable public route."},"relationship":{"type":"array","description":"Entity relationships.","items":{"$ref":"#/components/schemas/EntityRelationship"}},"research":{"$ref":"#/components/schemas/EntityResearch","description":"Combined research disclosure: governed detail rows, snippets, and accelerator participation."},"sitemap":{"$ref":"#/components/schemas/EntitySitemap","description":"Sub-route eligibility computed once at the persistence boundary."},"uniqueId":{"type":"array","description":"External registry identifiers associated with this entity.","items":{"$ref":"#/components/schemas/UniqueId"}}},"required":["core","enrichment","fundraiseRound","newsArticle","person","relationship","research","sitemap","uniqueId"]},"EntityResolution":{"type":"object","description":"Resolution of one queried identifier (id, slug, or current joined URL) to its current entity. Echoes the raw input; matched rows carry the full detail, ambiguous rows carry the conflicting candidate ids, missing rows carry neither.","properties":{"candidateEntityId":{"type":"array","description":"Entity ids that all currently own the queried URL when status is AMBIGUOUS; empty otherwise. Re-query a single id to disambiguate.","items":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},"detail":{"description":"Full entity detail when status is MATCHED; absent otherwise.","oneOf":[{"$ref":"#/components/schemas/EntityDetail"},{"type":"null"}]},"input":{"type":"string","description":"Raw identifier exactly as queried (UUID string, slug, or URL)."},"inputType":{"type":"string","description":"Which identifier kind this row was queried by.","enum":["ID","SLUG","URL"]},"status":{"type":"string","description":"Resolution outcome for this input.","enum":["MATCHED","AMBIGUOUS","MISSING"]}},"required":["candidateEntityId","input","inputType","status"]},"EntityNaturalSearch":{"type":"object","description":"Plain-English entity search plus explicit hard constraints. The planner may fill only filter fields the caller leaves unset.","properties":{"filter":{"$ref":"#/components/schemas/EntityFilter","description":"Explicit entity constraints. Caller-supplied fields override planner values; the planner fills only fields left at their canonical defaults."},"search":{"$ref":"#/components/schemas/NaturalSearch","description":"Canonical plain-English search request and strategy."}},"required":["search"]},"NaturalSearchResult":{"type":"object","description":"Natural-language entity search result: planner interpretation plus the canonical entity list page produced by EntityListService.","properties":{"interpretation":{"$ref":"#/components/schemas/SearchInterpretation","description":"Structured interpretation used to run the entity list query."},"result":{"$ref":"#/components/schemas/PageResultEntityList","description":"Entity list page returned by the canonical entity list engine."}},"required":["interpretation","result"]},"EntityRelationshipTypeOption":{"type":"object","description":"Published relationship catalog row. Directional values use sourceRole and targetRole to name sourceEntityId and targetEntityId.","properties":{"acquisitionManaged":{"type":"boolean","description":"Whether this type must be written through acquisition endpoints."},"alias":{"type":"array","description":"Accepted aliases that normalize to canonical.","items":{"type":"string"}},"canonical":{"type":"string","description":"Canonical relationship type token used in reads and writes."},"description":{"type":"string","description":"Human-readable catalog meaning and placement guidance."},"direction":{"$ref":"#/components/schemas/RelationshipDirection","description":"How to interpret sourceEntityId and targetEntityId. DIRECTIONAL means sourceRole and targetRole are authoritative."},"exclusiveRelationshipType":{"type":"array","description":"Relationship types that cannot coexist for one unordered pair.","items":{"type":"string"}},"joinable":{"type":"boolean","description":"Whether generic relationship join/write endpoints accept this type."},"pairRule":{"type":"string","description":"Entity type pairing rule enforced before persistence."},"readOnly":{"type":"boolean","description":"Whether this type is emitted by reads only and rejected on writes."},"sourceRole":{"type":["string","null"],"description":"Role of sourceEntityId for directional/type-oriented rows. For affinity this is member."},"targetRole":{"type":["string","null"],"description":"Role of targetEntityId for directional/type-oriented rows. For affinity this is provider."}},"required":["acquisitionManaged","alias","canonical","description","direction","exclusiveRelationshipType","joinable","pairRule","readOnly"]},"EntityRelationship":{"type":"object","description":"Domain record for entity relationships - oriented from the requested entity to the joined entity","properties":{"asOf":{"type":["string","null"],"format":"date","description":"Effective date for this relationship when known"},"comparisonSignals":{"description":"Competitive comparison signals for the joined entity when it is a product/service provider — sells-to, pricing model, ownership, funding, and website. Null for every other joined entity. Lets comparison surfaces render provider columns without a second per-provider fetch.","oneOf":[{"$ref":"#/components/schemas/EntityComparisonSignals"},{"type":"null"}]},"createdAt":{"type":["string","null"],"format":"date-time"},"detail":{"type":["string","null"],"description":"Relationship-specific detail. acceleratorParticipant rows use `batch=<label>`, or `program=<name>; batch=<label>` only for a distinct sub-program. program= never repeats the accelerator name or the batch, and batch= never contains the accelerator name — the row already points to the accelerator entity."},"entity":{"$ref":"#/components/schemas/Entity","description":"Joined entity on the other side of this relationship — read-only display projection. Writes identify both sides only via the flat sourceEntityId and targetEntityId UUIDs, never a nested entity object."},"id":{"type":["integer","null"],"format":"int32","description":"Integer entity_relationship.id row id, not an entity UUID"},"isCurrent":{"type":["boolean","null"],"description":"Current-state curation flag for this relationship row. Default relationship reads return only rows where isCurrent=true and isPrimary=true."},"isPrimary":{"type":["boolean","null"],"description":"Primary/renderable curation flag for this relationship row. isCurrent=false or isPrimary=false hides the row from default relationship reads."},"relationship":{"type":"array","description":"Nested relationships for the joined entity","items":{"$ref":"#/components/schemas/EntityRelationship"}},"relationshipType":{"type":"string","description":"Canonical relationship type, one of: acceleratorParticipant, acquirer, affinity, calculated, competingProductService, competitor, customer, fundManagerFirm, parent, productService, serviceProvider, similarCompany, spinOffFrom, successor. Similarity endpoint rows use stored relationship types when a curation row exists and calculated when the row comes from semantic/vector similarity."},"source":{"type":["string","null"],"description":"Source URL or compact source label copied to the relationship row"},"sourceEntityId":{"type":["string","null"],"format":"uuid","description":"Canonical source entity UUID stored on the relationship row. Compare with the requested entity id and `/v1/entities/relationships/types` sourceRole/targetRole to orient directional relationships such as parent."},"targetEntityId":{"type":["string","null"],"format":"uuid","description":"Canonical target entity UUID stored on the relationship row. Compare with the requested entity id and `/v1/entities/relationships/types` sourceRole/targetRole to orient directional relationships such as parent."},"updatedAt":{"type":["string","null"],"format":"date-time"}},"required":["entity","relationship","relationshipType"]},"ResearchDetailType":{"type":"object","properties":{"allowedToken":{"type":["array","null"],"description":"Allowed valueResearchDetail tokens for enumeratedToken shapes.","items":{"type":"string"}},"curated":{"type":"boolean"},"label":{"type":"string"},"range":{"description":"Inclusive numeric bounds for numericRatio, numericScore, and numericGrowthRate. numericGrowthRate values use percentage points: 80 means 80%, not 0.8.","oneOf":[{"$ref":"#/components/schemas/ResearchValueRange"},{"type":"null"}]},"targetPath":{"type":"string"},"timeSeries":{"type":"boolean","description":"Whether rows are dated history; true means add current observations and keep believable old rows."},"typeValue":{"type":"string"},"valueShape":{"$ref":"#/components/schemas/ResearchValueShapeType","description":"Write-time value shape token. For numericCountOrRange details, send either discreteValue for an exact count or textValue for an employee range.","example":"numericCountOrRange"},"valueType":{"$ref":"#/components/schemas/EntityResearchValueType","description":"Read projection category; choose write fields from valueShape."}},"required":["curated","label","targetPath","timeSeries","typeValue","valueShape","valueType"]},"ResearchSnippetType":{"type":"object","description":"Canonical research snippet type with the governance rules write callers must satisfy.","properties":{"analysisRenderable":{"type":"boolean","description":"Whether curated rows of this snippet type can make the public company Analysis page eligible."},"curated":{"type":"boolean","description":"Whether the type is curated; with analysisRenderable this gates public Analysis-page eligibility. It does not gate snippet display — every type listed here is recognized and defaults to visible, and the row-level visible flag controls display."},"defaultVisible":{"type":"boolean","description":"Default visible flag when a write omits visible; true for recognized snippet types even when curated=false."},"label":{"type":"string","description":"Human-readable label."},"minLength":{"type":["integer","null"],"format":"int32","description":"Minimum total text length in characters; null = no minimum."},"paragraphShape":{"description":"Per-paragraph shape rule that write requests must satisfy; null = no paragraph rule.","oneOf":[{"$ref":"#/components/schemas/ResearchParagraphShape"},{"type":"null"}]},"recognized":{"type":"boolean","description":"Whether this textType is recognized by the research contract catalog; true for every row returned by this endpoint."},"targetPath":{"type":"string","description":"Dotted research section path the snippet attaches to."},"typeValue":{"type":"string","description":"Canonical snippet type token used on the wire."}},"required":["analysisRenderable","curated","defaultVisible","label","recognized","targetPath","typeValue"]},"EntityListFilter":{"type":"object","additionalProperties":false,"description":"Entity list filters and saved-view query state including semantic entity search. semanticQuery executes on GET /v1/entities and POST /v1/entities/search; saved views persist it for replay. Every other reused EntityFilter surface accepts the base EntityFilter, which omits semanticQuery.","properties":{"acceleratorBrand":{"type":"array","description":"Accelerator brand or operator name.","items":{"type":"string"}},"acceleratorCohort":{"type":"array","description":"Accelerator batch or cohort label.","items":{"type":"string"}},"acceleratorName":{"type":"array","description":"Specific accelerator program name.","items":{"type":"string"}},"acceleratorStatus":{"type":"array","description":"Accelerator participation status.","items":{"type":"string"}},"affinity":{"type":"array","description":"Affinity provider organization names accepted by the companies list filter. Affinity rows are member -> provider; use provider names here, not member names.","items":{"type":"string"}},"employeeCountRange":{"type":"array","description":"Inclusive reported employee-count ranges, in employees.","items":{"$ref":"#/components/schemas/IntRange"}},"entityId":{"type":"array","description":"Restrict results to specific entity IDs.","items":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},"entityName":{"type":"array","description":"Exact normalized match against entity brand or legal names.","items":{"type":"string"}},"featured":{"type":["boolean","null"],"description":"Filter by featured status."},"fundraiseActivity":{"$ref":"#/components/schemas/EntityFundraiseFilterCriteria","description":"Fundraise activity"},"hasFundraising":{"type":["boolean","null"],"description":"Filter to entities with fundraise activity."},"headquartersCity":{"type":"array","description":"Headquarters city values.","items":{"type":"string"}},"headquartersCountry":{"type":"array","description":"Headquarters country values.","items":{"type":"string"}},"headquartersState":{"type":"array","description":"Headquarters state or region values.","items":{"type":"string"}},"industry":{"type":"array","description":"Industry classification values.","items":{"type":"string"}},"letter":{"type":["string","null"],"description":"First letter of the display name."},"location":{"type":"array","description":"Geographic classification values.","items":{"type":"string"}},"logoOption":{"$ref":"#/components/schemas/EntityFilterLogoOption","description":"Logo sort priority."},"mainProduct":{"type":"array","description":"Main product classification values.","items":{"type":"string"}},"operatingStatus":{"type":"array","description":"Operating states to include; omit to include every state.","items":{"$ref":"#/components/schemas/EntityOperatingStatus"}},"person":{"type":"array","description":"Associated person, matched by name.","items":{"type":"string"}},"portfolioHeadquartersCity":{"type":"array","description":"Portfolio-company headquarters city values.","items":{"type":"string"}},"portfolioHeadquartersCountry":{"type":"array","description":"Portfolio-company headquarters country values.","items":{"type":"string"}},"portfolioHeadquartersState":{"type":"array","description":"Portfolio-company headquarters state or region values.","items":{"type":"string"}},"qualityGate":{"$ref":"#/components/schemas/EntityListQualityGate","description":"Named server-owned list quality gate."},"semanticQuery":{"type":["string","null"],"description":"Semantic entity search phrase. Executable on POST /v1/entities/search; saved views persist it for replay."},"slug":{"type":"array","description":"Restrict results to entity slugs.","items":{"type":"string","description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"}},"stage":{"type":"array","description":"Investment stage classification values.","items":{"type":"string"}},"suppressNonOperating":{"type":["boolean","null"],"description":"Suppress entities with terminal operating status."},"suppressZeroTotalRaised":{"type":["boolean","null"],"description":"Suppress entities whose total raised is zero."},"tag":{"type":"array","description":"General classification tag values.","items":{"type":"string"}},"textSearch":{"type":["string","null"],"description":"Non-blank keyword/full-text search term. Use natural-search for plain-English or multi-constraint company requests."},"typeCustomer":{"type":"array","description":"Customer-type classification values.","items":{"type":"string"}},"typeModel":{"type":"array","description":"Business-model classification values.","items":{"type":"string"}},"typeOwnership":{"type":"array","description":"Ownership-model classification values.","items":{"type":"string"}},"typeRecord":{"type":"array","description":"Entity type filter. Organization expands to Company, Investment Firm, Nonprofit, and Government; omit to include every entity type.","items":{"$ref":"#/components/schemas/EntityType"}},"typeRevenue":{"type":"array","description":"Revenue-model classification values.","items":{"type":"string"}},"typeTechnologyUsed":{"type":"array","description":"Technology-used classification values.","items":{"type":"string"}},"url":{"type":["string","null"],"description":"Current URL to match by normalized host and path."},"urlDomain":{"type":["string","null"],"description":"Current root domain to match when urlMatchMode=domain.","example":"example.com"},"urlMatchMode":{"$ref":"#/components/schemas/UrlMatchMode","description":"URL matching mode: hostPath uses host and path; domain uses the root domain.","example":"domain"},"urlType":{"description":"Restrict URL matching to one URL type.","example":"website","oneOf":[{"$ref":"#/components/schemas/EntityUrlType"},{"type":"null"}]},"yearFoundedRange":{"type":"array","description":"Inclusive founding-year ranges, in calendar years.","items":{"$ref":"#/components/schemas/IntRange"}}}},"SecCompany":{"type":"object","description":"Public-company identity facts from SEC EDGAR (legal name, former names, ticker, exchange, industry, incorporation, headquarters). SEC supplies no brand name, website, or summary text — those stay enrichment-owned and are not part of this shape.","properties":{"cik":{"type":"string","description":"SEC Central Index Key, 10-digit zero-padded. The stable cross-sync join key.","example":"0000320193"},"ein":{"type":["string","null"],"description":"Employer Identification Number (tax id), when SEC supplies one.","example":"942404110"},"entityType":{"type":["string","null"],"description":"SEC entity type. `operating` marks a real operating company; `other` marks a SPAC, trust, holding, or shell filing vehicle.","example":"operating"},"exchange":{"type":"array","description":"Listing exchange(s).","example":["Nasdaq"],"items":{"type":"string"}},"filerCategory":{"type":["string","null"],"description":"SEC filer size category.","example":"Large accelerated filer"},"fiscalYearEnd":{"type":["string","null"],"description":"Fiscal year-end as MMDD.","example":"0926"},"headquartersCity":{"type":["string","null"],"description":"Headquarters city from the SEC business address.","example":"CUPERTINO"},"headquartersCountry":{"type":["string","null"],"description":"Headquarters country code; often null for US filers.","example":"US"},"headquartersPostalCode":{"type":["string","null"],"description":"Headquarters postal/ZIP code.","example":"95014"},"headquartersState":{"type":["string","null"],"description":"Headquarters state or country from the SEC business address.","example":"CA"},"headquartersStreet":{"type":["string","null"],"description":"Headquarters street address from the SEC business address.","example":"ONE APPLE PARK WAY"},"isOperating":{"type":"boolean","description":"True when SEC classifies this registrant as an operating company, false for a SPAC/trust/holding/shell vehicle."},"matchedVia":{"type":"string","description":"How the query resolved to this registrant.","enum":["TICKER","NAME"]},"nameAlias":{"type":"array","description":"Former registered legal names from SEC `formerNames`, most recent first.","example":["APPLE COMPUTER INC"],"items":{"type":"string"}},"nameLegal":{"type":"string","description":"Registered legal name from SEC filings.","example":"Apple Inc."},"otherCandidate":{"type":"array","description":"Other registrants whose name also matched the query (legal names). Empty for an exact ticker resolution; non-empty signals an ambiguous name query.","items":{"type":"string"}},"phone":{"type":["string","null"],"description":"Business phone from SEC filings.","example":"(408) 996-1010"},"sicCode":{"type":["string","null"],"description":"SIC industry code.","example":"3571"},"sicDescription":{"type":["string","null"],"description":"SIC industry description.","example":"Electronic Computers"},"stateOfIncorporation":{"type":["string","null"],"description":"State or country of incorporation (SEC code).","example":"CA"},"ticker":{"type":"array","description":"Trading ticker symbol(s).","example":["AAPL"],"items":{"type":"string"}}},"required":["cik","exchange","isOperating","matchedVia","nameAlias","nameLegal","otherCandidate","ticker"]},"TextTypeOption":{"type":"object","description":"Canonical textType value accepted by text endpoints; entity rows include minWords, maxWords, rewriteHint, and paragraphShape when a governed text contract applies.","properties":{"canonical":{"type":"string","description":"Canonical textType value."},"maxWords":{"type":["integer","null"],"format":"int32","description":"Maximum words allowed by the governed text contract."},"minWords":{"type":["integer","null"],"format":"int32","description":"Minimum words allowed by the governed text contract."},"paragraphShape":{"description":"Paragraph-shape rule returned by the governed text contract.","oneOf":[{"$ref":"#/components/schemas/ResearchParagraphShape"},{"type":"null"}]},"privateType":{"type":"boolean","description":"Whether the textType requires trusted read visibility."},"rewriteHint":{"type":["string","null"],"description":"Rewrite guidance returned by the governed text contract."}},"required":["canonical","privateType"]},"EntityTypeAlias":{"type":"object","description":"Canonical EntityType value, accepted aliases, and public routing metadata.","properties":{"alias":{"type":"array","description":"Alias tokens accepted by EntityType.fromRaw (case-insensitive).","items":{"type":"string"}},"canOwnPublicProductServiceRoute":{"type":"boolean","description":"Whether this EntityType can provide the parent route for a public Product/Service."},"canonical":{"type":"string","description":"Canonical EntityType value (e.g. \\"Company\\", \\"Investment Firm\\")."},"description":{"type":"string","description":"Human-facing meaning of this EntityType."},"productServiceRouteSegment":{"type":"string","description":"Nested public route segment shared by Product and Service records."},"publicPathPrefix":{"type":"string","description":"Public website path prefix for this EntityType."}},"required":["alias","canOwnPublicProductServiceRoute","canonical","description","productServiceRouteSegment","publicPathPrefix"]},"EntityAcquisitionRole":{"type":"string","description":"Role of the path entity in the acquisition. Defaults to acquired (the company that was bought). Pass acquirer to list acquisitions made by the path entity, or all to list both sides in one page.","enum":["acquired","acquirer","all"]},"PageEntityAcquisition":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityAcquisition"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EntityAcquisition":{"type":"object","description":"Canonical acquisition event: scoped entity is acquired, acquirerEntity is buyer, and status is read stage -- Acquisition before operating-status change, Acquired Subsidiary for active completed brands, Acquired for terminal/folded/closed (including Closed (Acquihire)).","properties":{"acquiredEntity":{"$ref":"#/components/schemas/Entity","description":"Acquired company — read-only nested display projection of the scoped path entity."},"acquirerEntity":{"$ref":"#/components/schemas/Entity","description":"Buyer — read-only nested display projection. Mutations identify the buyer only via the flat acquirerEntityId UUID, never a nested entity object."},"amount":{"type":["integer","null"],"format":"int64"},"announcedAt":{"type":["string","null"],"format":"date-time"},"asOf":{"type":["string","null"],"format":"date"},"completedAt":{"type":["string","null"],"format":"date-time"},"createdAt":{"type":["string","null"],"format":"date-time"},"currency":{"type":["string","null"]},"dataConfidence":{"oneOf":[{"$ref":"#/components/schemas/FundraiseDataConfidence"},{"type":"null"}]},"evidence":{"$ref":"#/components/schemas/EntityAcquisitionEvidence"},"fundraiseTransactionId":{"type":["string","null"],"format":"uuid","description":"Canonical fundraise transaction UUID"},"investorJoinId":{"type":["string","null"],"format":"uuid","description":"Type-safe identifier for fundraise investor joins"},"relationshipId":{"type":"integer","format":"int32"},"source":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/EntityAcquisitionStage","description":"Read stage, not transactionStatus: Acquisition before operating-status change; Acquired Subsidiary for active completed acquisitions; Acquired for terminal/folded/closed (including Closed (Acquihire))."},"transactionStatus":{"oneOf":[{"$ref":"#/components/schemas/FundraiseTransactionStatus"},{"type":"null"}]},"updatedAt":{"type":["string","null"],"format":"date-time"}},"required":["acquiredEntity","acquirerEntity","evidence","relationshipId","status"]},"Address":{"type":"object","description":"Canonical address record for entity and person payloads","properties":{"address":{"type":["integer","null"],"format":"int32","description":"Legacy address row identifier","example":456},"addressLine1":{"type":["string","null"]},"addressLine2":{"type":["string","null"]},"association":{"type":"array","description":"Role-period associations for this physical address","items":{"$ref":"#/components/schemas/AddressAssociation"}},"city":{"description":"City reference","oneOf":[{"$ref":"#/components/schemas/AddressCity"},{"type":"null"}]},"country":{"description":"Country reference","oneOf":[{"$ref":"#/components/schemas/AddressCountry"},{"type":"null"}]},"countryAbbrev":{"type":["string","null"]},"createdAt":{"type":["string","null"],"format":"date-time"},"fullAddress":{"type":["string","null"],"description":"Single-line formatted address","example":"123 Main St, Boston, MA 02110, USA"},"id":{"type":["integer","null"],"format":"int32","description":"Address record identifier","example":123},"isCurrent":{"type":["boolean","null"],"deprecated":true,"description":"Deprecated aggregate compatibility flag; true when any association is current","example":true},"isHq":{"type":["boolean","null"],"deprecated":true,"description":"Deprecated legacy flag marking the headquarters or legal/registered address","example":true},"isPrimary":{"type":["boolean","null"],"deprecated":true,"description":"Deprecated legacy flag marking the primary display address","example":true},"latitude":{"type":["number","null"],"format":"double"},"longitude":{"type":["number","null"],"format":"double"},"postalCode":{"type":["string","null"]},"state":{"description":"State or region reference","oneOf":[{"$ref":"#/components/schemas/AddressState"},{"type":"null"}]},"stateAbbrev":{"type":["string","null"]},"street":{"type":["string","null"]},"updatedAt":{"type":["string","null"],"format":"date-time"}}},"PageBlogPost":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/BlogPost"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"BlogPost":{"type":"object","description":"External research-side blog post owned by exactly one entity or person. Unrelated to app.app_blog_article.","properties":{"author":{"type":["string","null"],"description":"Blog-post author when discovered by ingest"},"createdAt":{"type":"string","format":"date-time"},"externalId":{"type":["string","null"],"description":"Stable external feed/item identifier when available"},"id":{"type":"string","format":"uuid","description":"Type-safe UUID identifier for research-side external blog article links"},"isCurrent":{"type":"boolean"},"lastFetchedAt":{"type":["string","null"],"format":"date-time","description":"Last time ingest fetched or summarized this blog-post URL"},"mentionedEntityId":{"type":"array","description":"Entities mentioned in the blog-post body, excluding the owner","items":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},"mentionedPersonId":{"type":"array","description":"People mentioned in the blog-post body, excluding the owner","items":{"type":"string","format":"uuid","description":"Canonical person UUID"}},"owner":{"$ref":"#/components/schemas/EntityPersonOwner","description":"Owning record, nested ids only: owner.entityId or owner.personId — exactly one is set."},"publishedAt":{"type":["string","null"],"format":"date-time"},"summary":{"type":["string","null"],"description":"LLM-generated blog-post summary from blog-post-ingest"},"summaryGeneratedAt":{"type":["string","null"],"format":"date-time","description":"Timestamp when summary was last generated"},"title":{"type":["string","null"]},"topic":{"type":["string","null"],"description":"Nullable Library topic key the Jev article classifier assigned: funding, product, partnership, acquisition, leadership, legal, research, financials, careers, blog, or press. Rows classified before that classifier may still carry a web-crawl section key.","example":"product"},"type":{"$ref":"#/components/schemas/BlogPostType"},"updatedAt":{"type":"string","format":"date-time"},"url":{"type":"string"}},"required":["createdAt","id","isCurrent","mentionedEntityId","mentionedPersonId","owner","type","updatedAt","url"]},"EntityClassification":{"type":"object","description":"Entity classification join rows grouped by bucket; default reads include only current joins, and includeInactive=true adds inactive/historical joins.","properties":{"geoLocationExposure":{"type":"array","default":"[]","description":"Geographic markets where the entity earns revenue and serves customers (e.g. North America, EMEA, APAC). This is the sales/market footprint classification — NOT the HQ or office location. HQ and office locations belong on the address record (enrichment.address), not this bucket. A London-headquartered company selling globally should have North America and EMEA here, not United Kingdom.","items":{"$ref":"#/components/schemas/EntityTag"}},"industry":{"type":"array","default":"[]","description":"Industry filter values","items":{"$ref":"#/components/schemas/EntityTag"}},"mainProduct":{"type":"array","default":"[]","description":"Main product filter values","items":{"$ref":"#/components/schemas/EntityTag"}},"standardizedClassification":{"type":"array","default":"[]","description":"Standardized classification joins from res_classification_ref. Rows are join-existing-only and carry category/code metadata.","items":{"$ref":"#/components/schemas/StandardizedClassification"}},"tag":{"type":"array","default":"[]","description":"Tag filter values","items":{"$ref":"#/components/schemas/EntityTag"}},"typeCustomer":{"type":"array","default":"[]","description":"Type customer filter values","items":{"$ref":"#/components/schemas/EntityTag"}},"typeModel":{"type":"array","default":"[]","description":"Type model filter values","items":{"$ref":"#/components/schemas/EntityTag"}},"typeOwnership":{"type":"array","default":"[]","description":"Type ownership filter values","items":{"$ref":"#/components/schemas/EntityTag"}},"typeRevenue":{"type":"array","default":"[]","description":"Type revenue filter values","items":{"$ref":"#/components/schemas/EntityTag"}},"typeTechnologyUsed":{"type":"array","default":"[]","description":"Type technology used filter values","items":{"$ref":"#/components/schemas/EntityTag"}}}},"EntityClassificationSuggestion":{"type":"object","description":"Ranked classification suggestion derived from the enriched entity profile and classification centroid embeddings. Returned by the default classification discovery endpoint before callers create source-backed classification joins.","properties":{"alreadyJoined":{"type":"boolean","description":"True when the entity already has a current or historical matching join."},"classification":{"description":"Suggested writable editorial tag or standardized classification code candidate.","oneOf":[{"$ref":"#/components/schemas/EntityTag"},{"$ref":"#/components/schemas/StandardizedClassification"}]},"creatable":{"type":"boolean","description":"Whether a missing editorial tag value may be created with type plus name instead of tagId."},"rank":{"type":"integer","format":"int32","description":"One-based rank within this suggestion response."},"score":{"type":"number","format":"double","description":"Composite embedding similarity score; larger values rank higher."},"writable":{"type":"boolean","description":"Whether this suggestion can be joined through the classification mutation endpoint."}},"required":["alreadyJoined","classification","creatable","rank","score","writable"]},"PublicationType":{"type":"string","description":"Public source family for canonical content cards.","enum":["newsArticle","blogPost","externalSocialPost","repositoryOwner","repository","webSite","webPage","researchPaper"]},"PublicationRelation":{"type":"string","description":"How a content card relates to an entity or person owner.","enum":["by","about"]},"PagePublication":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Publication"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"PublicationFacet":{"type":"object","description":"Number of content cards sharing one topic and content type in an owner\'s index.","properties":{"contentType":{"$ref":"#/components/schemas/PublicationType","description":"Public content source type."},"count":{"type":"integer","format":"int64","description":"Content cards with this topic and content type."},"topic":{"type":["string","null"],"description":"Topic key; null when the content carries no topic."}},"required":["contentType","count"]},"NaturalSearch":{"type":"object","description":"Plain-English search request. The server plans the query into the target domain filter plus sort, then runs that domain\'s canonical list engine.","properties":{"mode":{"$ref":"#/components/schemas/SearchMode","default":"auto","description":"Search strategy to run. Defaults to `auto`: the fast name layer runs first (a single-token query as keyword search, a multiword query as an exact normalized name) and the language-model planner runs only on a miss, so name lookups never pay for planning. Any other value forces exactly that strategy: `exact` and `keyword` skip planner model resolution and its rate limit. Entity and person natural-search take every value; news and federated search accept only `auto` and `keyword`; content search accepts only `auto`."},"model":{"type":["string","null"],"description":"Optional chat model for planning; null uses the configured natural-search default. A caller without admin authority may only choose an allowlisted model; admin callers are unrestricted."},"query":{"type":"string","description":"Plain-English search request.","example":"Companies founded in the last year that raised venture capital","minLength":1}},"required":["query"]},"PageEmployeeCount":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EmployeeCount"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EnrichmentMode":{"type":"string","description":"Whether the run performs comprehensive enrichment or only selected tasks","enum":["COMPREHENSIVE","INDIVIDUAL"]},"HarnessRun":{"type":"object","description":"One harness enrichment run","properties":{"attempt":{"type":"integer","format":"int32","description":"Retry attempt counter"},"chassis":{"$ref":"#/components/schemas/HarnessChassis","description":"Agent loop this run executes on","x-aventure-detail":true},"chassisRouted":{"type":"boolean","description":"True when the chassis router, not a caller, picked `chassis`","x-aventure-detail":true},"createdAt":{"type":"string","format":"date-time","description":"Creation timestamp"},"entitySlug":{"type":["string","null"],"description":"Canonical slug of the entity the run produced"},"environment":{"$ref":"#/components/schemas/HarnessRunEnvironment","description":"API environment"},"error":{"type":["string","null"],"description":"Terminal failure reason, when failed"},"failureClass":{"type":["string","null"],"description":"Typed terminal-failure class from the harness retry classifier (e.g. runtime_cap, escalated, provider_capacity, context_overflow); null unless failed"},"finishedAt":{"type":["string","null"],"format":"date-time","description":"Run completion timestamp"},"hasSourceDocument":{"type":"boolean","description":"Whether this run consumes an immutable private source document","x-aventure-detail":true},"id":{"type":"string","format":"uuid","description":"Run id"},"iteration":{"type":"integer","format":"int32","description":"Current loop iteration"},"lane":{"$ref":"#/components/schemas/HarnessRunLane","description":"Queue lane for admission priority","x-aventure-detail":true},"latestStatus":{"type":["string","null"],"description":"Latest enrich-loop status as an opaque JSON string","x-aventure-detail":true},"llmApi":{"$ref":"#/components/schemas/HarnessLlmApi","description":"Gateway wire API every LLM call of this run uses","x-aventure-detail":true},"maxIteration":{"type":"integer","format":"int32","description":"Loop iteration cap"},"maxScoutConcurrent":{"type":"integer","format":"int32","description":"Parallel read-only scout fan-out width N","x-aventure-detail":true},"mode":{"$ref":"#/components/schemas/EnrichmentMode","description":"Enrichment breadth selected for this run"},"model":{"type":"string","description":"Orchestrator model id"},"nextAttemptAt":{"type":["string","null"],"format":"date-time","description":"Earliest re-claim time when waiting on retry backoff","x-aventure-detail":true},"resumeSafeUntil":{"type":["string","null"],"format":"date-time","description":"Instant past which a warm resume is no longer guaranteed; the harness writes it with session_resume from the model\'s cache window. Warm-resumable now iff failed/stopped and this is in the future. Null when there is no resume window."},"startedAt":{"type":["string","null"],"format":"date-time","description":"Run start timestamp"},"status":{"$ref":"#/components/schemas/HarnessRunStatus","description":"Current lifecycle state"},"subagentModel":{"type":"string","description":"Read-only research, cohort, and completion sub-agent model id","x-aventure-detail":true},"taskPresetKey":{"type":["array","null"],"description":"Selected task preset keys filed with the run","items":{"type":"string"},"x-aventure-detail":true},"type":{"$ref":"#/components/schemas/HarnessRunType","description":"Run kind derived from task-key presence: ENRICHMENT for a client-submitted comprehensive or preset-scoped run, TASK for a platform-scheduled micro-task execution"},"updatedAt":{"type":"string","format":"date-time","description":"Last update timestamp","x-aventure-detail":true},"url":{"type":"string","description":"Company URL under enrichment"},"userPrompt":{"type":["string","null"],"description":"Optional steering prompt filed with the run"}},"required":["attempt","chassis","chassisRouted","createdAt","environment","hasSourceDocument","id","iteration","lane","llmApi","maxIteration","maxScoutConcurrent","mode","model","status","subagentModel","type","updatedAt","url"]},"PageEntityFundraiseInvestorJoin":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityFundraiseInvestorJoin"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EntityFundraiseInvestorJoin":{"type":"object","description":"Canonical fundraise investor join row for API serialization","properties":{"amountInvested":{"type":["number","null"],"description":"Investor-level attributed amount invested in the fundraise transaction currency. Serialized as a plain JSON number such as 220000 or 123456.78; no currency sign, currency code, comma grouping, or abbreviated amount text is valid."},"createdAt":{"type":"string","format":"date-time","description":"Created timestamp"},"financialInstrumentType":{"description":"Financial instrument/vehicle for this investor\'s participation in the round (e.g. SAFE, Preferred Stock, Convertible Note). Distinct from the round-level financialInstrumentType: a single round can record different vehicles per investor join — e.g. an accelerator batch holding a capped SAFE and an uncapped-MFN SAFE as two joins.","oneOf":[{"$ref":"#/components/schemas/FundraiseFinancialInstrumentType"},{"type":"null"}]},"id":{"type":"string","format":"uuid","description":"Fundraise investor join identifier"},"investor":{"$ref":"#/components/schemas/EntityPersonOwner","description":"Investor identity, nested: investor.entityId for a firm/fund investor or investor.personId for an angel — exactly one is set. Read responses carry ids only, never flat investor* fields or names; resolve display names with GET /v1/entities/detail or GET /v1/people/{personId}."},"leadInvestor":{"type":"boolean","description":"Whether this investor is the lead investor for the round — the lead/anchor investor that set the round terms or made the primary commitment."},"transactionId":{"type":"string","format":"uuid","description":"Fundraise transaction identifier"},"updatedAt":{"type":"string","format":"date-time","description":"Updated timestamp"}},"required":["createdAt","id","investor","leadInvestor","transactionId","updatedAt"]},"PageEntityFundraiseTransaction":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityFundraiseTransaction"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EntityFundraiseTransaction":{"type":"object","description":"Canonical fundraise transaction view. ONE row per discrete round. An entity that raised pre-seed, seed, and Series A is THREE rows. Combined or rolled-up totals are never modeled here — total raised is a sum across rows.","properties":{"amountRaised":{"type":["integer","null"],"format":"int64"},"createdAt":{"type":["string","null"],"format":"date-time"},"currency":{"type":["string","null"]},"dataConfidence":{"description":"Data confidence level","oneOf":[{"$ref":"#/components/schemas/FundraiseDataConfidence"},{"type":"null"}]},"dateAnnounced":{"type":["string","null"],"format":"date-time"},"dateFundingComplete":{"type":["string","null"],"format":"date-time"},"dateInvestorExit":{"type":["string","null"],"format":"date-time"},"entity":{"oneOf":[{"$ref":"#/components/schemas/EntityFundraiseTransactionEntity"},{"type":"null"}]},"id":{"type":"string","format":"uuid","description":"Canonical fundraise transaction UUID"},"investorAttribution":{"description":"Investor-specific attribution when returned from investor-perspective investment views. amountInvested is not added to amountRaised; it is the selected investor\'s attributed participation amount for this round.","oneOf":[{"$ref":"#/components/schemas/FundraiseInvestmentAttribution"},{"type":"null"}]},"investorCount":{"type":["integer","null"],"format":"int32","description":"Source-reported number of investors in the round. This can exceed the identified investor joins when a source reports a total without naming every investor."},"round":{"type":["string","null"]},"sourceAttribution":{"type":"array","items":{"$ref":"#/components/schemas/FundraiseInvestmentAttribution"}},"updatedAt":{"type":["string","null"],"format":"date-time"},"valuationPostMoney":{"type":["integer","null"],"format":"int64"},"valuationPreMoney":{"type":["integer","null"],"format":"int64"}},"required":["id","sourceAttribution"]},"EntityFundraiseInvestorActivity":{"type":"object","description":"Investor-perspective activity aggregate for entity and person investors.","properties":{"attributedInvestmentCount":{"type":"integer","format":"int32","description":"Count of participations with a USD-attributed investor-level amount — the coverage denominator behind totalAmountInvestedUsd, averageAmountInvestedUsd, largestAmountInvestedUsd, and smallestAmountInvestedUsd."},"averageAmountInvestedUsd":{"type":["number","null"],"description":"Average investor-level attributed amount per participation, restricted to rounds whose transaction functional currency is USD. Null when no USD-attributed amounts exist for this investor."},"currentPortfolioCount":{"type":"integer","format":"int32"},"largestAmountInvestedUsd":{"type":["number","null"],"description":"Largest single investor-level attributed amount, restricted to rounds whose transaction functional currency is USD. Null when no USD-attributed amounts exist for this investor."},"portfolioCompanyCount":{"type":"integer","format":"int32","description":"Distinct portfolio companies this investor has participated in, across all portfolio-company statuses. Counts companies, whereas totalInvestment counts distinct fundraise transactions."},"smallestAmountInvestedUsd":{"type":["number","null"],"description":"Smallest single investor-level attributed amount, restricted to rounds whose transaction functional currency is USD. Null when no USD-attributed amounts exist for this investor."},"topInvestmentStage":{"type":"array","items":{"$ref":"#/components/schemas/StageFrequency"}},"totalAmountInvestedUsd":{"type":["number","null"],"description":"Sum of investor-level attributed amounts (amount_invested) restricted to rounds whose transaction functional currency is USD. Null when no USD-attributed amounts exist for this investor."},"totalInvestment":{"type":"integer","format":"int32"},"totalPortfolioExit":{"type":"integer","format":"int32"},"totalWriteOff":{"type":"integer","format":"int32"}},"required":["attributedInvestmentCount","currentPortfolioCount","portfolioCompanyCount","topInvestmentStage","totalInvestment","totalPortfolioExit","totalWriteOff"]},"PageEntityInvestorParticipation":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityInvestorParticipation"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"MediaSlot":{"type":"string","description":"Media slot on an owner record, addressed by the {mediaType} path segment.","enum":["logo","photo","thumbnail"]},"EntityLogoType":{"type":"string","description":"Entity logo slot: SQUARE is the square icon read back as `core.image.logoSquare`; STANDARD is the horizontal wordmark read back as `core.image.logo`.","enum":["SQUARE","STANDARD"]},"MediaUpload":{"type":"object","description":"Managed media asset reference with resolved CDN URL and target metadata","properties":{"cdnUrl":{"type":"string","description":"Resolved API CDN URL"},"firstUploadedAt":{"type":["string","null"],"format":"date-time","description":"Earliest recorded write timestamp for this media asset slot from res_provenance_event (when this entity/person/news first received any image in this slot)."},"mediaType":{"$ref":"#/components/schemas/MediaObjectType","description":"Target media domain"},"path":{"type":"string","description":"Attached managed storage path; never an external image URL"},"provenance":{"description":"Latest write source for this media asset slot from res_provenance_event. `changedAt` is the last-modified timestamp of the current attached file.","oneOf":[{"$ref":"#/components/schemas/DatasourceSourceMetadata"},{"type":"null"}]},"targetId":{"type":["string","null"],"description":"Attached entity/person/news target id, when known"}},"required":["cdnUrl","mediaType","path"]},"PageEntityPersonAssociation":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityPersonAssociation"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EntityPersonAssociation":{"type":"object","description":"One entity↔person association, naming both sides","properties":{"associationId":{"type":"integer","format":"int32","description":"Integer person-entity association join row id, not a person or entity UUID"},"endDate":{"type":["string","null"],"format":"date-time","description":"Association period end timestamp"},"entityAddress":{"type":"array","description":"Entity addresses carried on the association projection","items":{"$ref":"#/components/schemas/Address"}},"entityId":{"type":"string","format":"uuid","description":"Associated entity id"},"entityLogo":{"$ref":"#/components/schemas/EntityImage","description":"Entity logo image projection"},"entityName":{"type":["string","null"]},"entityOperatingStatus":{"type":["string","null"]},"entitySlug":{"type":"string","description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"},"entityType":{"description":"Entity type classification","oneOf":[{"$ref":"#/components/schemas/EntityType"},{"type":"null"}]},"entityUrlLink":{"type":"array","description":"Entity URL links carried on the association projection","items":{"$ref":"#/components/schemas/EntityUrlLink"}},"isCurrent":{"type":["boolean","null"]},"personAddress":{"type":"array","description":"Person addresses carried on the association projection","items":{"$ref":"#/components/schemas/Address"}},"personId":{"type":"string","format":"uuid","description":"Associated person id"},"personImage":{"$ref":"#/components/schemas/PersonImage","description":"Person image projection"},"personName":{"type":"string"},"personSlug":{"type":"string","description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"},"personUrlLink":{"type":"array","description":"Person URL links carried on the association projection","items":{"$ref":"#/components/schemas/EntityUrlLink"}},"score":{"type":["integer","null"],"format":"int32"},"startDate":{"type":["string","null"],"format":"date-time","description":"Association period start timestamp"},"titleFunction":{"type":["string","null"],"description":"Read-side corporate title function for the association row"},"titleId":{"type":["integer","null"],"format":"int32","description":"Corporate title id for the association row"},"titleLevel":{"type":["string","null"],"description":"Read-side corporate title level for the association row"},"titleName":{"type":["string","null"],"description":"Read-side corporate title text for the association row"}},"required":["associationId","entityAddress","entityId","entityLogo","entitySlug","entityUrlLink","personAddress","personId","personImage","personName","personSlug","personUrlLink"]},"PagePersonInvestorParticipation":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PersonInvestorParticipation"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"PageEntityRelationship":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityRelationship"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"PageGithubRepo":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/GithubRepo"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EntityResearch":{"type":"object","description":"Combined entity research disclosure: governed detail rows, research text snippets, and joined accelerator participation.","properties":{"acceleratorParticipation":{"type":"array","description":"Joined accelerator participation derived from governed accelerator research rows","items":{"$ref":"#/components/schemas/EntityAcceleratorParticipation"}},"detail":{"type":"array","description":"Flat governed research detail rows filtered by visibility","items":{"$ref":"#/components/schemas/EntityResearchDetail"}},"snippet":{"type":"array","description":"Research text snippets for this entity","items":{"$ref":"#/components/schemas/EntityResearchSnippet"}}},"required":["acceleratorParticipation","detail","snippet"]},"PageEntityResearchDetail":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityResearchDetail"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EntityResearchDetail":{"type":"object","description":"Canonical research detail row for research.res_entity_detail","properties":{"asOfDate":{"type":["string","null"],"format":"date-time"},"derivedRange":{"description":"Read-only range derived only for targetDateAbsolute detail rows","oneOf":[{"$ref":"#/components/schemas/ResearchDerivedRange"},{"type":"null"}],"readOnly":true},"discreteValue":{"type":["number","null"],"format":"double"},"entityId":{"type":"string","format":"uuid","description":"Canonical entity UUID"},"id":{"type":"integer","format":"int32"},"textValue":{"type":["string","null"]},"typeResearchDetail":{"type":"string"},"updatedAt":{"type":["string","null"],"format":"date-time"},"valueResearchDetail":{"type":["string","null"]},"valueType":{"$ref":"#/components/schemas/EntityResearchValueType"}},"required":["entityId","id","typeResearchDetail","valueType"]},"PageEntityResearchSnippet":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityResearchSnippet"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EntityResearchSnippet":{"type":"object","description":"Persisted research snippet row for one entity.","properties":{"compliance":{"description":"Derived character/word counts and governed-contract compliance for this snippet row; null when not evaluated.","oneOf":[{"$ref":"#/components/schemas/ContentCompliance"},{"type":"null"}]},"entityId":{"type":"string","format":"uuid","description":"Canonical entity UUID"},"id":{"type":"integer","format":"int32"},"text":{"type":"string"},"textType":{"type":"string"},"updatedAt":{"type":["string","null"],"format":"date-time"}},"required":["entityId","id","text","textType"]},"PageEntitySimilarityResult":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntitySimilarityResult"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"PageEntitySimilaritySummary":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntitySimilaritySummary"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"SlugLocation":{"type":"object","description":"Current slug location for a resource","properties":{"entityType":{"type":["string","null"]},"id":{"type":"string"},"path":{"type":"string"},"resourceType":{"$ref":"#/components/schemas/SlugResource"},"slug":{"type":"string"},"url":{"type":"string"}},"required":["id","path","resourceType","slug","url"]},"PageEntityText":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityText"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EntityText":{"type":"object","description":"Canonical entity/person text read record","properties":{"compliance":{"description":"Derived character/word counts and governed-contract compliance for this text row; null when not evaluated.","oneOf":[{"$ref":"#/components/schemas/ContentCompliance"},{"type":"null"}]},"createdAt":{"type":["string","null"],"format":"date-time"},"id":{"type":"integer","format":"int32","description":"Type-safe identifier for text records"},"isCurrent":{"type":["boolean","null"]},"isPrimary":{"type":["boolean","null"]},"language":{"type":["string","null"]},"owner":{"$ref":"#/components/schemas/EntityPersonOwner","description":"Owning record, nested ids only: owner.entityId or owner.personId — exactly one is set, and no name fields. Writes are scoped by the owning entity/person route; owner is never a write field."},"source":{"type":["string","null"]},"text":{"type":"string"},"textName":{"type":["string","null"]},"textType":{"type":"string","description":"Value object for text type classification","example":"note"},"updatedAt":{"type":["string","null"],"format":"date-time"}},"required":["id","owner","text","textType"]},"PageNews":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/News"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"PageUniqueId":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/UniqueId"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"UniqueId":{"type":"object","description":"External identifier mapped to one owner (entity or person): for example a company\'s EIN, SEC CIK, or ticker symbol. Owner carries exactly one entityId or personId.","properties":{"createdAt":{"type":"string","format":"date-time","description":"Row creation timestamp."},"id":{"type":"integer","format":"int32","description":"Unique-id row id."},"idType":{"$ref":"#/components/schemas/UniqueIdType","description":"Identifier type."},"identifier":{"type":"string","description":"Identifier value as issued by the registry (normalized per type)."},"owner":{"$ref":"#/components/schemas/EntityPersonOwner","description":"Owning entity or person id; exactly one nested id is present."},"source":{"type":["string","null"],"description":"Attribution source label for the mapping, when recorded."},"updatedAt":{"type":"string","format":"date-time","description":"Row update timestamp."}},"required":["createdAt","id","idType","identifier","owner","updatedAt"]},"PageEntityUrlLink":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityUrlLink"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"EntityUrlLink":{"type":"object","description":"Canonical URL link resource with owner, status, crawl, and source metadata. Lifecycle state (current vs former, primary vs secondary) is encoded by `isCurrent` and `isPrimary` — `urlType` is the canonical platform role only and MUST be one of the closed `EntityUrlType` values. To record a rebrand or domain migration, retain the prior URL with the same `urlType` (typically `website`) and set `isCurrent=false, isPrimary=false`; do not propose new enum values.","properties":{"crawlCdnProvider":{"oneOf":[{"$ref":"#/components/schemas/EntityUrlCrawlCdnProvider"},{"type":"null"}]},"crawlRenderMode":{"oneOf":[{"$ref":"#/components/schemas/EntityUrlCrawlRenderMode"},{"type":"null"}]},"createdAt":{"type":["string","null"],"format":"date-time"},"id":{"type":["integer","null"],"format":"int32"},"isCurrent":{"type":["boolean","null"],"description":"`true` = owner currently uses this URL; `false` = historical/former (rebrand source domain, deprecated platform handle). The lifecycle state lives here, NEVER in the `urlType` discriminator."},"isPrimary":{"type":["boolean","null"],"description":"`true` = canonical/primary URL of this `urlType` for this owner. Only one row per (owner, urlType) may be `isCurrent=true` AND `isPrimary=true`."},"owner":{"description":"Owning record, nested ids only: owner.entityId or owner.personId — exactly one is set, and no name fields. Writes are scoped by the owning entity/person route; owner is never a write field.","oneOf":[{"$ref":"#/components/schemas/EntityPersonOwner"},{"type":"null"}]},"sourceId":{"type":["string","null"]},"status":{"type":["string","null"]},"statusChecked":{"type":["string","null"],"format":"date-time"},"updatedAt":{"type":["string","null"],"format":"date-time"},"url":{"type":"string","format":"uri","description":"Canonical absolute HTTP URL value - validates scheme + host at construction","example":"https://example.com"},"urlType":{"$ref":"#/components/schemas/EntityUrlType"}},"required":["url","urlType"]},"PageEntityValuationTimeSeriesPoint":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityValuationTimeSeriesPoint"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"HarnessRunDetail":{"type":"object","description":"Harness run with its resolved public entity","properties":{"entity":{"description":"Current public entity resolved from the run slug","oneOf":[{"$ref":"#/components/schemas/Entity"},{"type":"null"}]},"latestStatus":{"description":"Parsed principal-facing loop progress; null when the raw run status is absent or invalid","oneOf":[{"$ref":"#/components/schemas/HarnessRunProgress"},{"type":"null"}]},"provider":{"description":"Parent organization\'s core record when the resolved entity is a Product/Service; null for every other entity type","oneOf":[{"$ref":"#/components/schemas/Entity"},{"type":"null"}],"x-aventure-detail":true},"publicUrl":{"type":["string","null"],"format":"uri","description":"Exact renderable public profile URL for the resolved entity"},"run":{"$ref":"#/components/schemas/HarnessRun","description":"Canonical harness run"}},"required":["run"]},"LookupJobMutation":{"type":"object","description":"The article whose companies and people a lookup job identifies. Send sourceUrl, sourceNewsId, or both.","properties":{"sourceNewsId":{"type":["integer","null"],"format":"int32","description":"aVenture news id of the article; an unknown id fails the job.","example":123456},"sourceUrl":{"type":["string","null"],"description":"URL of the article; read from aVenture news when stored there, otherwise fetched.","example":"https://techcrunch.com/2024/01/01/example","maxLength":2000,"minLength":0}}},"JobEnqueue":{"type":"object","description":"Accepted asynchronous app job enqueue response.","properties":{"jobId":{"type":"string","format":"uuid"},"mode":{"type":"string"},"statusUrl":{"type":"string","description":"Endpoint to poll for asynchronous job state and result.","example":"/v1/jobs/runs/550e8400-e29b-41d4-a716-446655440000"}},"required":["jobId","mode","statusUrl"]},"LookupJob":{"type":"object","description":"An async lookup job\'s state and, once COMPLETED, every company and person the article names, each identified against stored records.","properties":{"createdAt":{"type":"string","format":"date-time","description":"When the job was requested."},"failureReason":{"type":["string","null"],"description":"Why the job failed; absent unless state is FAILED."},"jobId":{"type":"string","format":"uuid","description":"Lookup job id."},"mention":{"type":"array","description":"Each distinct company and person the article names; empty until COMPLETED.","items":{"$ref":"#/components/schemas/LookupJobMention"}},"source":{"$ref":"#/components/schemas/LookupJobMutation","description":"The article the job reads."},"state":{"$ref":"#/components/schemas/JobState","description":"Current job state.","example":"COMPLETED"},"updatedAt":{"type":"string","format":"date-time","description":"When the job last changed state."}},"required":["createdAt","jobId","mention","source","state","updatedAt"]},"SystemGlobalMetrics":{"type":"object","description":"Global platform metrics snapshot","properties":{"cities":{"type":"integer","format":"int64"},"companies":{"type":"integer","format":"int64"},"countries":{"type":"integer","format":"int64"},"dataPoints":{"type":"integer","format":"int64"},"fundingLast30Days":{"type":"number","description":"Total positive funding announced by visible companies in the trailing 30-day window."},"fundraiseRoundsLast30Days":{"type":"integer","format":"int64","description":"Count of positive funding rounds announced by visible companies in the trailing 30-day window."},"investors":{"type":"integer","format":"int64"},"people":{"type":"integer","format":"int64"},"refreshedAt":{"type":"string","format":"date-time"},"totalFunding":{"type":"number"}},"required":["cities","companies","countries","dataPoints","fundingLast30Days","fundraiseRoundsLast30Days","investors","people","refreshedAt","totalFunding"]},"NewsFeedback":{"type":"object","description":"Feedback submission for a news article","properties":{"comment":{"type":["string","null"],"description":"Free-form feedback text","maxLength":4000,"minLength":0},"newsId":{"type":["integer","null"],"format":"int32","description":"News article ID","example":5980},"reaction":{"type":["string","null"],"description":"Short reaction (like, dislike, etc.)","example":"helpful","maxLength":64,"minLength":0},"slug":{"type":["string","null"],"description":"News article slug","example":"startup-raises-series-a","maxLength":255,"pattern":"^[a-z0-9_-]+$"}}},"NewsFeedbackAcknowledgement":{"type":"object","description":"Feedback acknowledgment for news articles - non-mutating response","properties":{"acknowledged":{"type":"boolean"},"at":{"type":"string","format":"date-time"},"comment":{"type":["string","null"]},"newsId":{"type":["integer","null"],"format":"int32"},"reaction":{"type":["string","null"]},"slug":{"type":["string","null"]}},"required":["acknowledged","at"]},"NewsDetail":{"type":"object","description":"Canonical news detail owner","properties":{"content":{"type":["string","null"]},"core":{"$ref":"#/components/schemas/News"},"entityMentionResolved":{"type":"array","description":"Resolved entity mentions — read-only display projections. News mutations attach entities only via flat entityJoinId values, never these nested objects.","items":{"$ref":"#/components/schemas/NewsResolvedEntityLink"}},"externalId":{"type":["string","null"]},"linkedContent":{"type":["string","null"]},"personMentionResolved":{"type":"array","description":"Resolved person mentions — read-only display projections. News mutations attach people only via flat personId/personSlug values, never these nested objects.","items":{"$ref":"#/components/schemas/NewsResolvedPersonLink"}}},"required":["core","entityMentionResolved","personMentionResolved"]},"PageEntity":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Entity"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"PagePerson":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Person"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"PersonLookupBatch":{"type":"object","additionalProperties":false,"description":"Batch request for person detail enrichment. Each selector array accepts at most 200 values, and at most 200 selectors may be submitted across personId, slug, and url.","properties":{"hasImageFirst":{"type":"boolean","default":false,"description":"Sort results by image presence"},"includeAddress":{"type":"boolean","default":true,"description":"Include address values"},"includeAssociation":{"type":"boolean","default":true,"description":"Include association values"},"includeUrl":{"type":"boolean","default":true,"description":"Include URL links"},"maxAssociations":{"type":"integer","format":"int32","default":40,"description":"Max association values per person"},"permitMonogram":{"type":"boolean","default":true,"description":"Permit monogram fallbacks"},"personId":{"type":"array","description":"Person UUID values","items":{"type":"string","format":"uuid"},"maxItems":200,"minItems":0},"slug":{"type":"array","description":"Person slug values","items":{"type":"string","pattern":"^[\\\\t-\\\\r\\\\u0020\\\\u00A0\\\\u1680\\\\u2000-\\\\u200A\\\\u2028-\\\\u2029\\\\u202F\\\\u205F\\\\u3000]*(?:[A-Za-z0-9_\\\\u212A-]{1,255}[\\\\t-\\\\r\\\\u0020\\\\u00A0\\\\u1680\\\\u2000-\\\\u200A\\\\u2028-\\\\u2029\\\\u202F\\\\u205F\\\\u3000]*)?(?![\\\\s\\\\S])"},"maxItems":200},"url":{"type":"array","description":"Person URL values","items":{"type":"string"},"maxItems":200,"minItems":0}},"x-aventure-max-total-array-items":200},"PagePersonDetail":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PersonDetail"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"PersonDetail":{"type":"object","description":"Composed person wrapper: core identity + enrichment + associations + investments. Access core fields via .core (for example .core.slug or .core.nameFull).","properties":{"articleCount":{"type":["integer","null"],"format":"int32"},"association":{"type":"array","description":"Entity associations for this person","items":{"$ref":"#/components/schemas/EntityPersonAssociation"}},"core":{"$ref":"#/components/schemas/Person"},"enrichment":{"$ref":"#/components/schemas/PersonEnrichment"},"investment":{"type":"array","description":"Investments associated with this person","items":{"$ref":"#/components/schemas/PersonInvestment"}},"nameAlias":{"type":"array","description":"Display and search aliases for this person","items":{"$ref":"#/components/schemas/EntityNameAliasPersonAliasType"}}},"required":["association","core","enrichment","investment","nameAlias"]},"PersonNaturalSearch":{"type":"object","description":"Plain-English people search plus explicit hard constraints. The planner may fill only filter fields the caller leaves unset.","properties":{"filter":{"$ref":"#/components/schemas/PersonFilter","description":"Explicit people constraints. Caller-supplied fields override planner values; the planner fills only fields left at their canonical defaults."},"search":{"$ref":"#/components/schemas/NaturalSearch","description":"Canonical plain-English search request and strategy."}},"required":["search"]},"PersonNaturalSearchResult":{"type":"object","description":"Natural-language people search result: planner interpretation plus the canonical person page produced by the person list engine.","properties":{"interpretation":{"$ref":"#/components/schemas/PersonSearchInterpretation","description":"Structured interpretation used to run the people query."},"result":{"$ref":"#/components/schemas/PageResultPerson","description":"Person page returned by the canonical person list engine."}},"required":["interpretation","result"]},"PersonFilter":{"type":"object","description":"Canonical person criteria contract for GET/POST/batch endpoints","properties":{"arrayFilter":{"$ref":"#/components/schemas/PersonListArrayFilter","description":"Array and range filters"},"entityId":{"type":["string","null"],"format":"uuid","description":"Associated entity UUID."},"entitySlug":{"type":["string","null"],"description":"Associated entity slug."},"firstName":{"type":["string","null"],"description":"Person first name."},"includeAddress":{"type":["boolean","null"],"description":"Include addresses on each person"},"includeUrl":{"type":["boolean","null"],"description":"Include URL links on each person"},"investorActivity":{"$ref":"#/components/schemas/InvestorActivityFilter","description":"Aggregate investor activity filters."},"isCurrent":{"type":["boolean","null"],"description":"Filter current associations."},"lastName":{"type":["string","null"],"description":"Person last name."},"letter":{"type":["string","null"],"description":"First-name initial.","example":"A"},"personId":{"type":"array","description":"Restrict results to specific person IDs. Omit or use [] for no ID restriction.","items":{"type":"string","format":"uuid","description":"Canonical person UUID"},"maxItems":200,"minItems":0},"personName":{"type":"array","description":"Exact normalized match against a person\'s full name or slug.","items":{"type":"string"}},"role":{"type":["string","null"],"description":"Associated entity role or title."},"search":{"type":["string","null"],"description":"Search keyword or phrase. Single characters valid; stop words rejected.","example":"AI"},"semanticQuery":{"type":["string","null"],"description":"Semantic person search phrase."},"status":{"type":["string","null"],"description":"Person workflow status."}}},"PersonGraph":{"type":"object","description":"\\n Precomputed professional-graph document for one person: career context per associated\\n entity (entity facts, recent news, colleagues, similar entities with key people), plus\\n co-investors. Lists are capped and pre-ranked server-side; the response is the display\\n order. Served from a precomputed store with member names, images, and slugs hydrated from\\n live person records at read time; computedAt is null only when the document has not been\\n materialized yet.\\n ","properties":{"careerContext":{"type":"array","description":"One entry per entity the person holds or held an association with, current first","items":{"$ref":"#/components/schemas/PersonGraphCareerContext"}},"coInvestor":{"type":"array","description":"People who participated in the same fundraise transactions or invested in the same companies, ranked by overlap count and recency","items":{"$ref":"#/components/schemas/PersonGraphCoInvestor"}},"computedAt":{"type":["string","null"],"format":"date-time","description":"Instant the document was materialized; null only when no document exists yet and an asynchronous recompute has been requested"}},"required":["careerContext","coInvestor"]},"PagePersonInvestment":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PersonInvestment"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"PagePersonSimilarityResult":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PersonSimilarityResult"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}}},"ResolvedHandle":{"type":"object","description":"Canonical subject a universal-lookup token resolved to. Exactly one of owner.entityId / owner.personId is set. Echoes the subject\'s canonical public handle and slug. Fetch display fields with GET /v1/entities/{entityId} or GET /v1/people/{personId}.","properties":{"matchedBy":{"type":"string","description":"Which identifier kind matched the token.","enum":["PUBLIC_ID","UUID","EXTERNAL_ID","SLUG"]},"owner":{"$ref":"#/components/schemas/EntityPersonOwner","description":"Canonical entity/person owner matched by the token."},"publicId":{"type":["string","null"],"description":"Canonical stable public handle of the resolved subject; null on rows still awaiting handle backfill."},"slug":{"type":["string","null"],"description":"Canonical slug of the resolved subject.","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"}},"required":["matchedBy","owner"]},"FederatedSearch":{"type":"object","description":"Federated entity, person, and news search result composed from each domain\'s canonical search result owner, with the strategy used for every scope.","properties":{"entity":{"$ref":"#/components/schemas/NaturalSearchResult","description":"Canonical entity natural-search result."},"news":{"$ref":"#/components/schemas/PageResultNews","description":"Canonical news page returned by the keyword list engine."},"person":{"$ref":"#/components/schemas/PersonNaturalSearchResult","description":"Canonical person natural-search result."},"provenance":{"$ref":"#/components/schemas/FederatedSearchProvenance","description":"Requested and executed strategy for each search scope."}},"required":["entity","news","person","provenance"]},"LinkSearch":{"type":"object","description":"Search results related to a shared article or page URL: the fetched URL, the search query synthesized from the page content, and the federated entity, person, and news results for that query.","properties":{"query":{"type":"string","description":"Search query synthesized from the page content."},"related":{"$ref":"#/components/schemas/FederatedSearch","description":"Federated entity, person, and news results for the synthesized query."},"url":{"type":"string","description":"The fetched page URL after validation.","example":"https://example.com/article"}},"required":["query","related","url"]},"SystemStatus":{"type":"object","description":"Uptime SLA, served-operation identity, and minimum supported iOS build","properties":{"minimumIosBuild":{"type":["integer","null"],"format":"int32","description":"Minimum supported App Store iOS build number within the minimum version","example":0},"minimumIosVersion":{"type":["string","null"],"description":"Minimum supported App Store iOS marketing version; empty disables update enforcement"},"operationFingerprint":{"type":"string","description":"Short hash identifying the exact set of operations this deployment serves. A generated client stamps the same value from the OpenAPI document it was built from; an unequal value means the client catalog is stale. `vc.aventure.application.usecase.system.status.OperationInventory` owns how it is computed.","example":"3f9a1c7d21b4e6a0"},"uptime":{"$ref":"#/components/schemas/Uptime","description":"Uptime SLA data from external uptime monitoring"}},"required":["operationFingerprint","uptime"]},"UniqueIdTypeAlias":{"type":"object","description":"Canonical uniqueId type value plus its label, accepted aliases, owner scope, and format pattern.","properties":{"alias":{"type":"array","description":"Alias tokens accepted by the write boundary.","items":{"type":"string"}},"canonical":{"type":"string","description":"Canonical uniqueId type value persisted in id_type."},"label":{"type":"string","description":"Human-readable label."},"ownerScope":{"type":"array","description":"Owner kinds this identifier type may attach to.","items":{"$ref":"#/components/schemas/UniqueIdOwnerScope"}},"pattern":{"type":["string","null"],"description":"Regex the identifier value must match, when constrained."}},"required":["alias","canonical","label","ownerScope"]},"UrlTypeAlias":{"type":"object","description":"Canonical urlType value plus accepted alias and platform host tokens.","properties":{"alias":{"type":"array","description":"Alias tokens accepted by UrlTypeCatalog.fromRaw.","items":{"type":"string"}},"canonical":{"type":"string","description":"Canonical urlType value."},"hostDomain":{"type":"array","description":"Host domains used by URL inference for this urlType.","items":{"type":"string"}}},"required":["alias","canonical","hostDomain"]},"Search":{"type":"object","description":"Live web search request with cache controls","properties":{"bypassCache":{"type":"boolean","default":false,"description":"Skip cache lookup and refresh from the search provider"},"cacheKey":{"type":["string","null"],"description":"Stable lookup text for cache keying when generated search text varies between runs","example":"OpenAI"},"language":{"type":["string","null"],"description":"Search language code","example":"en"},"region":{"type":["string","null"],"description":"Search region code","example":"us"},"resultLimit":{"type":["integer","null"],"format":"int32","description":"Maximum number of normalized results to keep","example":5},"search":{"type":"string","description":"Search text sent to the upstream web search provider","example":"OpenAI latest funding news"},"source":{"type":["string","null"],"description":"Optional caller identity for source-document attribution and abuse triage. Any non-blank string up to 64 characters is accepted and persisted with the resolved request context.","maxLength":64}},"required":["search"]},"WebSearch":{"type":"object","description":"Live web search result with its backing source-document row and normalized items","properties":{"document":{"$ref":"#/components/schemas/SourceDocumentList","description":"Source-document ledger row backing this result"},"result":{"type":"array","description":"Normalized result items in provider rank order","items":{"$ref":"#/components/schemas/SearchHit"}},"search":{"$ref":"#/components/schemas/Search","description":"Web search request represented by this result"}},"required":["document","result","search"]},"SourceDocumentList":{"type":"object","description":"Metadata-only ledger row for source-document lists","properties":{"cacheHitCount":{"type":"integer","format":"int32"},"createdAt":{"type":"string","format":"date-time"},"documentType":{"type":"string"},"expiresAt":{"type":["string","null"],"format":"date-time"},"httpStatus":{"type":["integer","null"],"format":"int32"},"id":{"type":"string","format":"uuid","description":"Document id"},"lastAccessedAt":{"type":["string","null"],"format":"date-time"},"provider":{"type":"string"},"providerRequestId":{"type":["string","null"]},"rawByteCount":{"type":["integer","null"],"format":"int64"},"rawCharset":{"type":["string","null"]},"rawMediaType":{"type":["string","null"]},"sourceKey":{"type":"string","description":"Canonical fetch identity: canonical URL, query hash, or dataset + external id"},"upstreamContentEncoding":{"type":["string","null"]}},"required":["cacheHitCount","createdAt","documentType","id","provider","sourceKey"]},"SearchHit":{"type":"object","description":"One normalized web-search hit with its title, URL, snippet, and relevance score","properties":{"relevanceScore":{"type":"number","format":"double"},"snippet":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"}},"required":["relevanceScore","snippet","title","url"]},"UniqueIdOwnerScope":{"type":"string","description":"Owner kind a unique-id type can attach to: entity or person.","enum":["entity","person"]},"Uptime":{"type":"object","description":"Uptime SLA data from external uptime monitoring","properties":{"availability":{"type":["number","null"],"format":"double","description":"Uptime percentage"},"downtimeSeconds":{"type":["integer","null"],"format":"int32","description":"Total downtime in seconds","example":151921},"error":{"type":["string","null"],"description":"Error message if unavailable"},"incidents":{"type":["integer","null"],"format":"int32","description":"Number of incidents","example":82}}},"PageResultNews":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/News"}},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","number","size","totalElements","totalPages"]},"FederatedSearchProvenance":{"type":"object","description":"Requested and executed search strategy for every federated scope.","properties":{"entity":{"$ref":"#/components/schemas/SearchModeExecution","description":"Entity search strategy execution."},"news":{"$ref":"#/components/schemas/SearchModeExecution","description":"News search strategy execution."},"person":{"$ref":"#/components/schemas/SearchModeExecution","description":"Person search strategy execution."}},"required":["entity","news","person"]},"SearchModeExecution":{"type":"object","description":"Search strategy requested by the caller and executed by the canonical engine.","properties":{"modeRequested":{"$ref":"#/components/schemas/SearchMode","description":"Search mode requested by the caller."},"modeUsed":{"$ref":"#/components/schemas/SearchMode","description":"Search mode executed by the canonical engine."}},"required":["modeRequested","modeUsed"]},"SearchMode":{"type":"string","description":"Search strategy for a natural-language search request. `auto` keeps the server pipeline (exact-name shortcut first, planner otherwise); `exact` matches entity or person names exactly with no planner and no embedding; `keyword` runs full-text search; `semantic` runs vector similarity; `natural` always runs the language-model planner. Entity and person natural-search support every mode; news and federated search accept only `auto` and `keyword`; content search accepts only `auto`.","enum":["auto","exact","keyword","semantic","natural"]},"News":{"type":"object","description":"Canonical news owner for list and core semantics","properties":{"author":{"type":["string","null"]},"category":{"type":["string","null"]},"createdAt":{"type":["string","null"],"format":"date-time"},"excerpt":{"type":["string","null"],"description":"Article summary from the source publication feed; null means the feed supplied no description (expected absence, not an error) — full text is NewsDetail.content"},"externalNewsArticle":{"type":["boolean","null"]},"id":{"type":"integer","format":"int32","description":"Type-safe identifier for news articles"},"newsImageThumbnail":{"type":["string","null"]},"newsUrlOriginal":{"type":["string","null"]},"publication":{"type":["string","null"]},"publishedAt":{"type":["string","null"],"format":"date-time"},"slug":{"type":["string","null"],"description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"},"title":{"type":"string","description":"Article headline; the headline field is title"},"updatedAt":{"type":["string","null"],"format":"date-time"}},"required":["id","title"]},"EntityPersonOwner":{"type":"object","description":"Exactly one of entityId or personId is set; ids only, no name fields. Resolve display names with GET /v1/entities/detail or GET /v1/people/{personId}.","properties":{"entityId":{"type":["string","null"],"format":"uuid","description":"Owning entity id; set only when personId is absent."},"personId":{"type":["string","null"],"format":"uuid","description":"Owning person id; set only when entityId is absent."}}},"PersonSimilarityResult":{"type":"object","description":"Similar person list row with the provenance that explains why it appears. Rows carry the canonical Person projection; load full detail through the person detail endpoints.","properties":{"currentRole":{"description":"Current titled association for the similar-person card; null when no current titled role is available.","oneOf":[{"$ref":"#/components/schemas/EntityPersonAssociation"},{"type":"null"}]},"person":{"$ref":"#/components/schemas/Person"},"similarity":{"$ref":"#/components/schemas/PersonSimilarityContext"}},"required":["person","similarity"]},"PageableObject":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"paged":{"type":"boolean"},"sort":{"$ref":"#/components/schemas/SortObject"},"unpaged":{"type":"boolean"}}},"SortObject":{"type":"object","properties":{"empty":{"type":"boolean"},"sorted":{"type":"boolean"},"unsorted":{"type":"boolean"}}},"Person":{"type":"object","description":"Canonical person core record","properties":{"createdAt":{"type":["string","null"],"format":"date-time","description":"Record creation timestamp"},"gender":{"type":["string","null"]},"id":{"type":"string","format":"uuid","description":"Canonical person UUID"},"image":{"$ref":"#/components/schemas/PersonImage"},"lastModifiedAt":{"type":["string","null"],"format":"date-time","description":"Provenance-grounded last-modified watermark (schema.org dateModified): the latest effective time across all writes attributed to this person."},"nameAlias":{"type":"array","description":"Display and search aliases for this person","items":{"$ref":"#/components/schemas/EntityNameAliasPersonAliasType"}},"nameFirst":{"type":["string","null"]},"nameFull":{"type":"string"},"nameLast":{"type":["string","null"]},"nameMiddle":{"type":["string","null"]},"nickname":{"type":["string","null"]},"publicId":{"type":["string","null"],"description":"Stable, immutable public handle (e.g. `pV1StGXR8Z5ab`). Never changes once assigned, unlike the slug. Null on projections that do not select it and on rows still awaiting handle backfill.","example":"pV1StGXR8Z5ab","pattern":"^p[0-9A-Za-z]{12}$"},"semanticMatch":{"description":"Semantic embedding match evidence populated only for semantic people reads.","oneOf":[{"$ref":"#/components/schemas/ContentEmbeddingMatch"},{"type":"null"}]},"slug":{"type":"string","description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"},"suffix":{"type":["string","null"]},"text":{"$ref":"#/components/schemas/EntityTextBundle","description":"Grouped person text content"},"updatedAt":{"type":["string","null"],"format":"date-time","description":"Last modification timestamp"}},"required":["id","image","nameAlias","nameFull","slug","text"]},"PersonSimilarityContext":{"type":"object","description":"Per-row provenance for a similar-person result.","properties":{"compositeScore":{"type":["number","null"],"format":"double","description":"Composite section-fusion similarity score."},"cosineScore":{"type":["number","null"],"format":"double","description":"Cosine similarity score where higher is closer."},"matchedSectionWeight":{"type":["number","null"],"format":"double","description":"Total normalized source-section weight matched."},"origin":{"$ref":"#/components/schemas/PersonSimilarityOrigin"},"rank":{"type":"integer","format":"int32","description":"1-based position in the merged result page"},"sharedSectionCount":{"type":["integer","null"],"format":"int32","description":"Number of source/target sections compared."}},"required":["origin","rank"]},"PersonSimilarityOrigin":{"type":"string","description":"Provenance origin for a similar-person result row.","enum":["precomputed","live"]},"PersonImage":{"type":"object","description":"Read projection: person image fields for detail/list responses","properties":{"isMonogram":{"type":"boolean","description":"Whether person image monogram"},"picture":{"type":["string","null"]}},"required":["isMonogram"]},"EntityNameAliasPersonAliasType":{"type":"object","description":"Alternate name used for search and display","properties":{"displayable":{"type":["boolean","null"],"description":"Show this alias in public name displays.","example":true},"name":{"type":"string","description":"Alternate name text","example":"Bun"},"type":{"description":"Alias type classification","oneOf":[{"$ref":"#/components/schemas/PersonAliasType"},{"type":"null"}]}},"required":["name"]},"ContentEmbeddingMatch":{"type":"object","description":"Nearest-neighbor content embedding match evidence.","properties":{"computedAt":{"type":"string","format":"date-time","description":"Timestamp when the embedding row was computed."},"cosineDistance":{"type":"number","format":"double","description":"pgvector cosine distance where lower is closer."},"cosineScore":{"type":"number","format":"double","description":"Cosine similarity score where higher is closer."},"modelVersion":{"type":"string","description":"Embedding model/profile version for this row."},"rank":{"type":"integer","format":"int32","description":"One-based semantic rank within the returned ANN candidate set."},"sourceHash":{"type":"string","description":"SHA-256 hash of the source content."},"sourceId":{"type":"string","description":"Content embedding source identifier."},"sourceJson":{"type":"string","description":"Serialized JSONB source document stored for the embedding row."},"sourceText":{"type":"string","description":"Source text used to compute the stored embedding."},"sourceType":{"$ref":"#/components/schemas/ContentSourceType","description":"Stored content embedding source partition."}},"required":["computedAt","cosineDistance","cosineScore","modelVersion","rank","sourceHash","sourceId","sourceJson","sourceText","sourceType"]},"EntityTextBundle":{"type":"object","description":"Grouped entity/person text content","properties":{"expanded":{"type":["string","null"],"description":"Expanded summary text","example":"Canonical expanded summary for grouped text assertions."},"generatedDescription":{"type":["string","null"],"description":"Generated SEO meta description text","example":"Acme AI builds AI copilots for growth teams."},"short":{"type":["string","null"],"description":"Short summary text","example":"Canonical short summary"}}},"ContentSourceType":{"type":"string","description":"Discriminator for unified content embedding source partitions","enum":["entity","person","newsArticle","blogPost","text","classificationTag","classificationCode","product","service","agentHelpDoc"]},"PersonAliasType":{"type":"string","description":"Alias types for person NameAlias","enum":["nickname","maidenName","formerName","stageName"]},"PersonInvestment":{"type":"object","description":"Domain model for a person\'s investment in an entity (fundraise transaction)","properties":{"amount":{"type":["number","null"]},"company":{"$ref":"#/components/schemas/PersonInvestedCompany"},"date":{"type":["string","null"],"format":"date-time"},"fundraiseTransaction":{"oneOf":[{"$ref":"#/components/schemas/EntityFundraise"},{"type":"null"}]},"fundraiseTransactionId":{"type":"string","format":"uuid","description":"Canonical fundraise transaction UUID"},"id":{"type":"string"},"investmentDate":{"type":"string","format":"date-time"},"investorAttribution":{"description":"Investor-specific attribution for this person\'s participation in the fundraise round. amountInvested is a plain decimal number in the fundraise transaction currency and is not added to amount.","oneOf":[{"$ref":"#/components/schemas/FundraiseInvestmentAttribution"},{"type":"null"}]},"round":{"type":["string","null"]}},"required":["company","fundraiseTransactionId","id","investmentDate"]},"PersonInvestedCompany":{"type":"object","description":"Company metadata associated with a person investment","properties":{"entity":{"$ref":"#/components/schemas/Entity"}},"required":["entity"]},"EntityFundraise":{"type":"object","description":"Fundraise transaction metadata linked to a person investment","properties":{"amountRaised":{"type":["number","null"]},"dateAnnounced":{"type":["string","null"],"format":"date-time"},"id":{"type":"string","format":"uuid","description":"Canonical fundraise transaction UUID"},"image":{"$ref":"#/components/schemas/EntityImage"},"investorCount":{"type":["integer","null"],"format":"int32"},"nameBrand":{"type":"string"},"round":{"type":["string","null"]},"status":{"type":["string","null"]},"valuationPostMoney":{"type":["number","null"]}},"required":["id","image","nameBrand"]},"FundraiseInvestmentAttribution":{"type":"object","description":"Investor-specific attribution for one fundraise participation row","properties":{"amountInvested":{"type":["number","null"],"description":"Investor-level attributed amount invested in the fundraise transaction currency. Serialized as a plain JSON number such as 220000 or 123456.78; no currency sign, currency code, comma grouping, or abbreviated amount text is valid."},"attributionType":{"$ref":"#/components/schemas/FundraiseInvestmentAttributionType","description":"How this attribution row participates in the investor view."},"beneficialEntityId":{"type":["string","null"],"format":"uuid","description":"Investment firm entity receiving the rollup attribution."},"fundManagerRelationshipId":{"type":["integer","null"],"format":"int32","description":"Fund-manager relationship id when the attribution rolls up through a managed fund."},"joinId":{"type":"string","format":"uuid","description":"Fundraise investor join identifier"},"leadInvestor":{"type":"boolean","description":"Whether this investor is the lead investor for the round — the lead/anchor investor that set the round terms or made the primary commitment."},"recordedEntityId":{"type":["string","null"],"format":"uuid","description":"Entity recorded directly on the fundraise investor join."},"round":{"description":"Round label for the attributed participation","oneOf":[{"$ref":"#/components/schemas/RoundLabel"},{"type":"null"}]},"transactionId":{"type":"string","format":"uuid","description":"Fundraise transaction identifier"}},"required":["attributionType","joinId","leadInvestor","transactionId"]},"FundraiseInvestmentAttributionType":{"type":"string","description":"How a fundraise investor attribution row was selected for an investor view.","enum":["direct","managedFund"]},"RoundLabel":{"type":"object","description":"Round participation label - shared by entity and person investor participation","properties":{"round":{"type":"string"}},"required":["round"]},"EntityImage":{"type":"object","description":"Grouped entity image fields for square, standard, and monogram logo state","properties":{"isMonogram":{"type":"boolean","description":"Whether entity image monogram"},"logo":{"type":["string","null"]},"logoSquare":{"type":["string","null"]}},"required":["isMonogram"]},"Entity":{"type":"object","description":"Flat entity core record — identity, naming, status, image, and source metadata. An entity is our umbrella record for organizations such as companies, funds, investment firms and investors, accelerators, nonprofits, and government agencies, plus products and services connected to those organizations. Returned directly by GET /v1/sitemap/entities and the alphabetical (?letter=X) list. Nested as .core inside EntityList for default list reads and EntityDetail for detail reads.","properties":{"defaultCurrency":{"type":["string","null"],"description":"Default currency code (ISO 4217)"},"foundedYear":{"type":["integer","null"],"format":"int32","description":"Year the entity was founded"},"id":{"type":"string","format":"uuid","description":"Unique entity identifier"},"image":{"$ref":"#/components/schemas/EntityImage","description":"Logo and monogram image metadata"},"lastModifiedAt":{"type":["string","null"],"format":"date-time","description":"Provenance-grounded last-modified watermark (schema.org dateModified). Advances only when a real, consumer-meaningful data point changes via a recorded provenance event — never on timestamp-only writes, migrations, or index refreshes. Pairs with createdAt (dateCreated) and grounds the sitemap lastmod."},"nameAlias":{"type":"array","description":"All names this entity has been known by — current alternates, DBAs, former names, and rebrand-source identities. Naming history (e.g. `Metaphor Systems` for the current `Exa` entity) lives here; never as a separate relationship type or `formerName` field.","items":{"$ref":"#/components/schemas/EntityNameAliasEntityAliasType"}},"nameBrand":{"type":"string","description":"Resolved display brand name"},"nameLegal":{"type":["string","null"],"description":"Registered legal name"},"operatingStatus":{"type":["string","null"],"description":"Current operating status. Use Acquired Subsidiary when the entity was acquired and still operates; use Closed (Acquihire) when the entity was acquired for its team and shut down, rendering like Closed everywhere; use Acquired only when it is terminal, folded, or closed."},"publicId":{"type":["string","null"],"description":"Stable, immutable public handle (e.g. `eV1StGXR8Z5a`). Never changes once assigned, unlike the slug. Null on projections that do not select it and on rows still awaiting handle backfill.","example":"eV1StGXR8Z5a","pattern":"^e[0-9A-Za-z]{11}$"},"publicUrl":{"type":["string","null"],"description":"Absolute public profile URL on the aVenture front-end, e.g. `https://aventure.vc/non-profits/{slug}`, derived from the typeRecord\'s canonical route family. Null when the route needs relationship context or the record has no direct public SSR route (Business Line, Organization, Product, Service, or a non-public slug). EntityDetail.publicUrl resolves Business Line parent context. Product/Service pages are provider-nested: compose the provider entity\'s publicUrl + `/products-services/` + this record\'s slug, or consume the sitemap-urls slot paths, which already emit the composed child routes."},"sitemap":{"description":"Sub-route eligibility, populated by the sitemap projection. Null on non-sitemap reads to keep thin payloads compact.","oneOf":[{"$ref":"#/components/schemas/EntitySitemap"},{"type":"null"}]},"slug":{"type":"string","description":"URL-safe identifier","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"},"typeRecord":{"description":"Entity type classification","oneOf":[{"$ref":"#/components/schemas/EntityType"},{"type":"null"}]},"updatedAt":{"type":["string","null"],"format":"date-time","description":"Last modification timestamp"}},"required":["id","image","nameAlias","nameBrand","slug"]},"EntityNameAliasEntityAliasType":{"type":"object","description":"Alternate name used for search and display","properties":{"displayable":{"type":["boolean","null"],"description":"Show this alias in public name displays.","example":true},"name":{"type":"string","description":"Alternate name text","example":"Bun"},"type":{"description":"Alias type classification","oneOf":[{"$ref":"#/components/schemas/EntityAliasType"},{"type":"null"}]}},"required":["name"]},"EntitySitemap":{"type":"object","description":"Sub-route eligibility GATE for sitemap.xml emission, not a write receipt. Each boolean is true only when the underlying rows EXIST AND every entity that sub-route renders (this entity and any counterpart, e.g. the acquired/acquirer company behind `hasAcquisitions`) currently passes publication visibility (not hidden, on sitemap). A `false` flag when you know the data exists means an unmet visibility prerequisite -- publish the hidden entity -- confirmed against the owning command-side read; it is an active gate result, not refresh lag, and a flag being `false` says nothing succeeded-and-is-fine. Served from a materialized projection (`mv_entity_sitemap_url_slots`) refreshed asynchronously, so a `true` flag can trail a gate that was just satisfied, but a successful write alone does not flip any flag.","properties":{"hasAcquisitions":{"type":"boolean","default":false,"description":"Whether `/companies/<slug>/acquisitions` should be emitted. True only when an acquisition relationship exists AND both the acquired and acquirer entities are publicly visible. A confirmed acquisition relationship row with this flag `false` (or with `entities acquisitions list` returning zero rows) means a counterpart entity is still hidden -- publish it -- it is a visibility gate, not list lag."},"hasAnalysis":{"type":"boolean","description":"Whether the profile Analysis sub-route should be emitted."},"hasEmployees":{"type":"boolean","description":"Whether the profile Employees sub-route should be emitted."},"hasFundraising":{"type":"boolean","description":"Whether the profile Fundraising sub-route should be emitted."},"hasNews":{"type":"boolean","description":"Whether the profile News sub-route should be emitted."},"productServiceSlug":{"type":"array","description":"Slugs of related Product/Service entities that should each get their own `/companies/<slug>/products-services/<productSlug>` URL, capped at `MAX_PRODUCT_SERVICE_SLUGS` server-side. Derived from current `productService` relationships in either stored direction; the entity relationships resource is the authoritative, read-your-writes view of those joins.","items":{"type":"string"}}},"required":["hasAnalysis","hasEmployees","hasFundraising","hasNews","productServiceSlug"]},"EntityAliasType":{"type":"string","description":"Alias types for entity NameAlias","enum":["alternativeDba","relatedLegal"]},"PersonGraphCareerContext":{"type":"object","description":"Entity facts, recent news, colleagues, and similar entities for one associated entity","properties":{"colleague":{"type":"array","description":"People associated with the same entity, excluding the subject person, ranked by currency and recency","items":{"$ref":"#/components/schemas/PersonGraphMember"}},"employeeCount":{"description":"Most recent employee-count research fact when one is recorded","oneOf":[{"$ref":"#/components/schemas/EmployeeCount"},{"type":"null"}]},"entity":{"$ref":"#/components/schemas/EntityFundraiseTransactionEntity","description":"Entity card projection: core identity plus aggregate funding rollup"},"primaryAddress":{"description":"Primary address of the entity when one is recorded","oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"null"}]},"recentNews":{"type":"array","description":"Most recent news linked to the entity, newest first","items":{"$ref":"#/components/schemas/News"}},"similarEntity":{"type":"array","description":"Entities similar to this entity, from the entity similarity rails","items":{"$ref":"#/components/schemas/PersonGraphSimilarEntity"}}},"required":["colleague","entity","recentNews","similarEntity"]},"PersonGraphCoInvestor":{"type":"object","description":"Person who co-invested with the subject, with the shared context","properties":{"overlapCount":{"type":"integer","format":"int32","description":"Number of shared fundraise transactions between the two people"},"person":{"$ref":"#/components/schemas/PersonGraphMember","description":"Co-investing person rail member"},"round":{"type":["string","null"],"description":"Round label of the shared fundraise transaction"},"sharedEntity":{"description":"Entity whose fundraise both people participated in (association projection)","oneOf":[{"$ref":"#/components/schemas/Entity"},{"type":"null"}]},"transactionId":{"type":["string","null"],"format":"uuid","description":"Shared fundraise transaction id"}},"required":["overlapCount","person"]},"PersonGraphMember":{"type":"object","description":"Lean person rail member with association title facts","properties":{"isCurrent":{"type":["boolean","null"]},"personId":{"type":"string","format":"uuid","description":"Associated person id"},"personImage":{"$ref":"#/components/schemas/PersonImage","description":"Person image projection"},"personName":{"type":"string","description":"Person display name"},"personSlug":{"type":"string","description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"},"titleName":{"type":["string","null"],"description":"Read-side corporate title text for the association row"}},"required":["personId","personImage","personName","personSlug"]},"EmployeeCount":{"type":"object","description":"Employee-count time-series point for an entity","properties":{"asOfDate":{"type":"string","format":"date-time"},"fact":{"$ref":"#/components/schemas/EntityResearchFactValue"},"id":{"type":"string"}},"required":["asOfDate","fact","id"]},"EntityFundraiseTransactionEntity":{"type":"object","description":"Entity projection used inside FundraiseTransaction responses","properties":{"core":{"$ref":"#/components/schemas/Entity"},"fundingDetail":{"oneOf":[{"$ref":"#/components/schemas/EntityFundingDetail"},{"type":"null"}]}},"required":["core"]},"PersonGraphSimilarEntity":{"type":"object","description":"Similar-entity card with its key people","properties":{"entity":{"$ref":"#/components/schemas/EntityFundraiseTransactionEntity","description":"Entity card projection: core identity plus aggregate funding rollup"},"keyPerson":{"type":"array","description":"Top-ranked current people at the similar entity","items":{"$ref":"#/components/schemas/PersonGraphMember"}}},"required":["entity","keyPerson"]},"EntityFundingDetail":{"type":"object","description":"Aggregate view of an entity\'s fundraising activity","properties":{"currency":{"type":["string","null"],"description":"ISO 4217 currency of totalRaised, latestValuation, and mostRecentAmount: the one currency every round uses, else the entity\'s own currency when rounds carry none. Null when rounds use more than one currency or no fundraise rollup exists, so these amounts have no single currency."},"fundingRoundCount":{"type":"integer","format":"int32"},"investorCount":{"type":"integer","format":"int32"},"latestValuation":{"type":["number","null"]},"mostRecentAmount":{"type":["number","null"]},"mostRecentDate":{"type":["string","null"],"format":"date"},"stage":{"oneOf":[{"$ref":"#/components/schemas/FundingStage"},{"type":"null"}]},"totalRaised":{"type":"number"}},"required":["fundingRoundCount","investorCount","totalRaised"]},"FundingStage":{"type":"string","description":"Canonical inferred equity, entity-type, or Company operating-status stage emitted by the entity fundraise rollup. Transaction classifications such as Debt, IPO, and Acquisition are not entity stages.","enum":["Angel","Pre-Seed","Seed","Series A","Series B","Series C","Series D","Series E","Series F","Series G","Series H","Series I","Series J","Series K","Series L","Series M","Series N","Series O","Series P","Series Q","Series R","Series S","Series T","Series U","Series V","Series W","Series X","Series Y","Series Z","Investment Firm","Fund","Nonprofit","Government","Public","Acquired","Acquired Subsidiary"]},"EntityResearchFactValue":{"type":"object","description":"Canonical typed fact value nested under entity research fields","properties":{"asOfDate":{"type":["string","null"],"format":"date-time"},"dataConfidence":{"oneOf":[{"$ref":"#/components/schemas/EntityValuationDataConfidence"},{"type":"null"}]},"dateValue":{"type":["string","null"],"format":"date-time"},"numericValue":{"type":["number","null"],"format":"double"},"referenceValue":{"type":["string","null"]},"source":{"type":["string","null"]},"textValue":{"type":["string","null"]},"updatedAt":{"type":["string","null"],"format":"date-time"},"valueType":{"$ref":"#/components/schemas/EntityResearchValueType"}},"required":["valueType"]},"EntityValuationDataConfidence":{"type":"string","description":"Confidence tier stored verbatim in res_entity_detail.data_confidence.","enum":["low","medium","high"]},"EntityResearchValueType":{"type":"string","description":"Output kind for governed research detail values","enum":["text","numeric","monetary","percentage","date"]},"PersonListArrayFilter":{"type":"object","description":"Array and range filters for person list endpoints","properties":{"amountInvestedRange":{"type":["array","null"],"items":{"$ref":"#/components/schemas/DecimalRange"}},"amountRaisedRange":{"type":["array","null"],"items":{"$ref":"#/components/schemas/DecimalRange"}},"entityName":{"type":["array","null"],"description":"Associated entity names.","items":{"type":"string"}},"investedCompany":{"type":["array","null"],"description":"Invested company names.","items":{"type":"string"}},"personTitle":{"type":["array","null"],"description":"Person titles.","items":{"type":"string"}},"round":{"type":["array","null"],"description":"Fundraise round labels.","items":{"type":"string"}},"totalInvestmentCount":{"type":["array","null"],"items":{"$ref":"#/components/schemas/IntRange"}},"typeRecord":{"type":["array","null"],"description":"Associated entity type scope. Omit or use [] for any associated type.","items":{"$ref":"#/components/schemas/EntityType"}}}},"InvestorActivityFilter":{"type":"object","description":"Aggregate investor activity filters from distinct fundraise deals and USD amounts.","properties":{"averageAmountInvestedUsdRange":{"type":"array","description":"Average USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}},"largestAmountInvestedUsdRange":{"type":"array","description":"Largest USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}},"smallestAmountInvestedUsdRange":{"type":"array","description":"Smallest USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}},"totalAmountInvestedUsdRange":{"type":"array","description":"Total USD amount-invested ranges with inclusive bounds.","items":{"$ref":"#/components/schemas/DecimalRange"}},"totalInvestmentRange":{"type":"array","description":"Distinct fundraise-deal count ranges for an investor, with inclusive integer bounds.","items":{"$ref":"#/components/schemas/IntRange"}}}},"PersonSearchInterpretation":{"type":"object","description":"Structured interpretation of a natural-language people search: canonical filter, sort, confidence, and any unsupported constraint the planner could not translate exactly.","properties":{"confidence":{"$ref":"#/components/schemas/Confidence","description":"Planner confidence in the structured interpretation."},"execution":{"$ref":"#/components/schemas/SearchModeExecution","description":"Requested and executed search strategy."},"fallbackUsed":{"type":"boolean","description":"True when the semantic fallback replaced an unconstrained planner result with a semantic search over the original query."},"filter":{"$ref":"#/components/schemas/PersonFilter","description":"Canonical person filter generated from the natural-language query."},"interpretation":{"type":"string","description":"Human-readable summary of how the query was interpreted."},"sort":{"$ref":"#/components/schemas/SearchOrderingPersonSortField","description":"Ordering applied to the result page: the relevance rank that ran first, if any, then the sortable-column terms."},"unsupported":{"type":["string","null"],"description":"Constraint the planner could not translate into the canonical PersonFilter contract; null when every material constraint was supported."}},"required":["confidence","execution","fallbackUsed","filter","interpretation","sort"]},"PageResultPerson":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Person"}},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","number","size","totalElements","totalPages"]},"Confidence":{"type":"string","description":"Three-level confidence band for a classifier, model, or probe verdict. The carrying property states what is assessed and what each band licenses.","enum":["HIGH","MEDIUM","LOW"]},"SearchOrderingPersonSortField":{"type":"object","description":"Ordering applied to a search result page: an optional relevance rank that precedes the sortable-column terms.","properties":{"order":{"type":"array","description":"Sortable-column terms applied after the relevance rank, highest precedence first. Empty when the relevance rank alone ordered the page. Listing priorities that every list page applies ahead of these terms, such as operating-status and logo priority, are not reported.","items":{"$ref":"#/components/schemas/SortOrderPersonSortField"}},"relevance":{"description":"Relevance rank applied before any column term; absent when no relevance rank ran.","oneOf":[{"$ref":"#/components/schemas/SearchRelevance"},{"type":"null"}]}},"required":["order"]},"SortOrderPersonSortField":{"type":"object","description":"Single sort term: which enumerated sort field to use and whether direction is descending.","properties":{"descending":{"type":"boolean","description":"true for descending (DESC), false for ascending (ASC)"},"field":{"type":"string","description":"Sort field for this resource (entity list uses EntityFilter.Sortable / published sort keys).","enum":["ID","FIRST_NAME","LAST_NAME","FULL_NAME","SLUG","CREATED_AT","UPDATED_AT","STATUS","GENDER","AMOUNT_INVESTED","TOTAL_INVESTMENTS"]}},"required":["descending","field"]},"SearchRelevance":{"type":"string","description":"Relevance rank that ordered a search page before any sortable column.","enum":["keyword","semantic"]},"PersonEnrichment":{"type":"object","description":"Supplemental person data — addresses and URL links","properties":{"address":{"type":"array","description":"Addresses associated with the person","items":{"$ref":"#/components/schemas/Address"}},"urlLink":{"type":"array","description":"External and social URL links associated with the person","items":{"$ref":"#/components/schemas/EntityUrlLink"}}},"required":["address","urlLink"]},"NewsResolvedEntityLink":{"type":"object","description":"Resolved entity mention in news content - hyperlink to an entity detected in article text","properties":{"createdAt":{"type":"string","format":"date-time"},"entityId":{"type":"string","format":"uuid","description":"Canonical entity UUID"},"href":{"type":["string","null"]},"internal":{"type":"boolean"},"matchStatus":{"oneOf":[{"$ref":"#/components/schemas/NewsMatchStatus"},{"type":"null"}]},"mention":{"type":["string","null"]},"slug":{"type":["string","null"],"description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"},"typeRecord":{"oneOf":[{"$ref":"#/components/schemas/EntityType"},{"type":"null"}]},"updatedAt":{"type":"string","format":"date-time"}},"required":["createdAt","entityId","internal","updatedAt"]},"NewsResolvedPersonLink":{"type":"object","description":"Resolved person mention in news content - hyperlink to a person detected in article text","properties":{"createdAt":{"type":"string","format":"date-time"},"href":{"type":["string","null"]},"matchStatus":{"oneOf":[{"$ref":"#/components/schemas/NewsMatchStatus"},{"type":"null"}]},"mention":{"type":["string","null"]},"personId":{"type":"string","format":"uuid","description":"Canonical person UUID"},"slug":{"type":["string","null"],"description":"Canonical lowercase URL slug for the resource","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"},"updatedAt":{"type":"string","format":"date-time"}},"required":["createdAt","personId","updatedAt"]},"NewsMatchStatus":{"type":"string","description":"auto-match = linked by the matcher; needs-review = awaiting a reviewer; approved; rejected","enum":["auto-match","needs-review","approved","rejected"]},"LookupJobMention":{"type":"object","description":"One company or person the article names, which stored record it is, and the hidden shell record filed for it when it is new.","properties":{"failureReason":{"type":["string","null"],"description":"One sentence on why this name could not be identified; absent otherwise."},"identification":{"description":"The lookup of this name with the article as its source: MATCHED names the stored record, NEEDS_REVIEW lists the candidates, NO_MATCH means none is stored. Absent when failureReason is set.","oneOf":[{"$ref":"#/components/schemas/Identification"},{"type":"null"}]},"mentionType":{"type":"string","description":"Whether the article names a company or a person.","enum":["COMPANY","PERSON"]},"name":{"type":"string","description":"Name as the article writes it."},"shell":{"description":"The hidden record this job created for a NO_MATCH name after the article and one independent live page both showed it exists; enrich it by its entityId or personId. Absent when no record was created.","oneOf":[{"$ref":"#/components/schemas/EntityPersonOwner"},{"type":"null"}]},"shellDetail":{"type":["string","null"],"description":"One sentence on why no shell was created for a NO_MATCH name, or why a created shell lacks its URL; absent otherwise."}},"required":["mentionType","name"]},"JobState":{"type":"string","description":"Shared lifecycle states for async jobs (duplicate-check, logo-audit, etc.)","enum":["PENDING","RUNNING","COMPLETED","FAILED","CANCELED","UNKNOWN"]},"HarnessRunProgress":{"type":"object","description":"Current public progress of a harness run","properties":{"complete":{"type":"boolean","description":"Whether the enrichment loop reports completion"},"entitySlug":{"type":["string","null"],"description":"Canonical entity slug currently reported by the loop","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"},"gateRemaining":{"type":"array","description":"Concrete completion gates that remain unmet","items":{"type":"string"}},"note":{"type":["string","null"],"description":"Optional progress note from the loop"},"whatElseRemaining":{"type":"array","description":"Additional work the loop reports as remaining","items":{"type":"string"}},"writeThisIteration":{"type":"array","description":"Writes completed during the current loop iteration","items":{"type":"string"}}},"required":["complete","entitySlug","gateRemaining","whatElseRemaining","writeThisIteration"]},"EntityValuationTimeSeriesPoint":{"type":"object","description":"A single valuation datapoint. `valuationPostMoney` is the canonical charted value; filled when directly recorded or safely derivable from pre-money + amount raised (same currency only). `derivation` explains whether the value was stored or inferred. Only `researchDetail` points have a `detailId` and can be changed here; `fundraiseRound` points are changed through fundraise-round commands.","properties":{"amountRaised":{"type":["integer","null"],"format":"int64","description":"Amount raised in the same currency, only for fundraise rows."},"asOfDate":{"type":"string","format":"date-time","description":"Effective timestamp for this valuation datapoint."},"confidence":{"$ref":"#/components/schemas/EntityValuationDataConfidence","description":"Confidence tier for this datapoint."},"currency":{"type":"string","description":"ISO 4217 currency code."},"declaredBasis":{"$ref":"#/components/schemas/ValuationType","description":"Basis declared by the original source."},"derivation":{"$ref":"#/components/schemas/EntityValuationDerivation","description":"How pre-money and post-money fields were obtained."},"detailId":{"type":["integer","null"],"format":"int32","description":"Research detail id for stated valuation rows. Null for fundraise-derived rows, which cannot be updated or deleted on this valuation surface."},"label":{"type":["string","null"],"description":"Fundraise round label or legacy detail display text, when present."},"source":{"$ref":"#/components/schemas/EntityValuationSource","description":"Canonical store that supplied the point."},"sourceRef":{"type":"string","description":"`detail-<id>` or `fundraise-<transactionId>` display reference."},"valuationPostMoney":{"type":["integer","null"],"format":"int64","description":"Post-money valuation in full currency units, when known."},"valuationPreMoney":{"type":["integer","null"],"format":"int64","description":"Pre-money valuation in full currency units, when known."}},"required":["asOfDate","confidence","currency","declaredBasis","derivation","source","sourceRef"]},"ValuationType":{"type":"string","description":"Which side of the pre/post relationship the source declared.","enum":["preMoney","postMoney","reported"]},"EntityValuationDerivation":{"type":"string","description":"How the point\'s valuationPostMoney and valuationPreMoney were obtained.","enum":["stored","derivedFromPreAndRaised","derivedFromPostMinusRaised","reportedAssumedPost"]},"EntityValuationSource":{"type":"string","description":"Which canonical store the point came from.","enum":["fundraiseRound","researchDetail"]},"EntityUrlCrawlCdnProvider":{"type":"string","description":"CDN or hosting provider fronting a web URL.","enum":["cloudflare","akamai","fastly","awsCloudfront","vercel","netlify","sucuri","incapsula","bunny","keycdn","cdn77","gcore","cdnetworks","azureCdn","leaseweb","digitalocean","stackpath","googlecloudCdn","none","unknown"]},"EntityUrlCrawlRenderMode":{"type":"string","description":"JavaScript rendering requirement for crawl checks.","enum":["static","jsRequired","jsEnhanced"]},"UniqueIdType":{"type":"string","description":"External identifier type that maps an owner to a registry id: ein, secCik, ticker, lei, duns, isin, cusip, crd, or orcid.","enum":["ein","secCik","ticker","lei","duns","isin","cusip","crd","orcid"]},"ContentCompliance":{"type":"object","description":"Derived character/word counts and whether the row text meets its governed type contract (word/character limits and paragraph shape). violation lists each unmet rule and is empty when the row is compliant.","properties":{"characterCount":{"type":"integer","format":"int32","description":"Character count of the row text (UTF-16 units)."},"meetsRequirements":{"type":"boolean","description":"Whether the text satisfies every governed contract rule."},"violation":{"type":"array","description":"One human-readable reason per unmet rule; empty when compliant.","items":{"type":"string"}},"wordCount":{"type":"integer","format":"int32","description":"Word count of the row text (whitespace-separated tokens)."}},"required":["characterCount","meetsRequirements","violation","wordCount"]},"SlugResource":{"type":"string","description":"Resource type whose slug is being changed","enum":["entity","person","news","blog","content"]},"EntitySimilaritySummary":{"type":"object","description":"Lean similar-entity rail row: core identity, current URL links, and similarity provenance. Use EntitySimilarityResult for full EntityList rows.","properties":{"core":{"$ref":"#/components/schemas/Entity"},"similarity":{"$ref":"#/components/schemas/EntitySimilarityContext"},"urlLink":{"type":"array","description":"Current primary URL links, one per URL type","items":{"$ref":"#/components/schemas/EntityUrlLink"}}},"required":["core","similarity","urlLink"]},"EntitySimilarityContext":{"type":"object","description":"Per-row provenance for a similar-entity result","properties":{"compositeScore":{"type":["number","null"],"format":"double","description":"Composite (section-fusion) score. Populated only when origin=precomputed."},"cosineScore":{"type":["number","null"],"format":"double","description":"Cosine similarity when origin=precomputed"},"curatedAsOf":{"type":["string","null"],"format":"date","description":"Curated as-of date when origin=curated"},"curatedRelationshipType":{"type":["string","null"],"description":"Curated relationship type when origin=curated"},"curatedSource":{"type":["string","null"],"description":"Curated source URL/note when origin=curated"},"derivedFromEntityId":{"type":["string","null"],"format":"uuid","description":"Curated peer id that produced this row when origin=derived"},"matchedSectionWeight":{"type":["number","null"],"format":"double","description":"Total normalized source-section weight matched when origin=precomputed"},"origin":{"$ref":"#/components/schemas/EntitySimilarityOrigin"},"rank":{"type":"integer","format":"int32","description":"1-based position in the merged result page"},"sharedSectionCount":{"type":["integer","null"],"format":"int32","description":"Number of source/target sections compared when origin=precomputed"}},"required":["origin","rank"]},"EntitySimilarityOrigin":{"type":"string","description":"Provenance origin for a similar-entity result row.","enum":["curated","semantic","precomputed","derived","computed"]},"EntitySimilarityResult":{"type":"object","description":"Similar entity list row with the provenance that explains why it appears. Rows carry the EntityList projection; load full detail through the entity detail endpoints.","properties":{"entity":{"$ref":"#/components/schemas/EntityList"},"similarity":{"$ref":"#/components/schemas/EntitySimilarityContext"}},"required":["entity","similarity"]},"EntityList":{"type":"object","description":"\\n Narrow entity row for list and batch-list reads. Keeps core identity, enrichment,\\n governed research detail, accelerator participation, and fundraise rounds while omitting\\n detail-only relationship, newsArticle, person, sitemap, and research snippet sections.\\n Classification enrichment is current-only on list rows; use the entity classifications\\n subresource with includeInactive=true to audit historical joins.\\n ","properties":{"core":{"$ref":"#/components/schemas/Entity","description":"Flat entity core — identity, naming, status, image, and source metadata"},"enrichment":{"$ref":"#/components/schemas/EntityEnrichment","description":"Supplemental entity data — addresses, classification tags, funding, text content, and URL links"},"fundraiseRound":{"type":"array","description":"Fundraise rounds associated with this entity","items":{"$ref":"#/components/schemas/EntityFundraiseTransaction"}},"research":{"$ref":"#/components/schemas/EntityListResearch","description":"List-safe research disclosure without text snippets"},"semanticMatch":{"description":"Semantic embedding match evidence populated only for semantic list reads.","oneOf":[{"$ref":"#/components/schemas/ContentEmbeddingMatch"},{"type":"null"}]}},"required":["core","enrichment","fundraiseRound","research"]},"EntityEnrichment":{"type":"object","description":"Supplemental entity data — addresses, classification tags, funding, text content, and URL links","properties":{"address":{"type":"array","items":{"$ref":"#/components/schemas/Address"}},"classification":{"$ref":"#/components/schemas/EntityClassification","description":"Entity classification join projection for this read surface. Single-detail and full-detail batch reads include full history; list, default batch, and similar-entity reads may filter to current joins. Use GET /v1/entities/{entityId}/classifications?includeInactive=true for authoritative join history."},"fundingDetail":{"oneOf":[{"$ref":"#/components/schemas/EntityFundingDetail"},{"type":"null"}]},"text":{"$ref":"#/components/schemas/EntityTextBundle"},"urlLink":{"type":"array","description":"URL link filter values","items":{"$ref":"#/components/schemas/EntityUrlLink"}}},"required":["address","classification","text","urlLink"]},"EntityListResearch":{"type":"object","description":"Nested research projection owned by EntityList rows, excluding snippet text.","properties":{"acceleratorParticipation":{"type":"array","description":"Joined accelerator participation derived from governed accelerator research rows","items":{"$ref":"#/components/schemas/EntityAcceleratorParticipation"}},"detail":{"type":"array","description":"Flat governed research detail rows filtered by visibility","items":{"$ref":"#/components/schemas/EntityResearchDetail"}}},"required":["acceleratorParticipation","detail"]},"EntityAcceleratorParticipation":{"type":"object","description":"Flattened accelerator participation derived from acceleratorParticipant relationship rows and joined to the canonical accelerator entity.","properties":{"accelerator":{"$ref":"#/components/schemas/Entity","description":"Canonical thin accelerator entity from the acceleratorParticipant relationship"},"acceleratorName":{"type":"string","description":"Full accelerator participation name, including program detail"},"asOfDate":{"type":"string","format":"date-time","description":"Participation effective timestamp"},"batch":{"type":["string","null"],"description":"Accelerator batch or cohort"},"id":{"type":"string","description":"Stable participation identifier anchored to the contributing acceleratorParticipant relationship"},"program":{"type":["string","null"],"description":"Accelerator program name, when the source distinguishes one"},"status":{"type":["string","null"],"description":"Accelerator participation status"}},"required":["accelerator","acceleratorName","asOfDate","id"]},"ResearchDerivedRange":{"type":"object","description":"Read-only derived range projection for targetDateAbsolute detail rows","properties":{"asOfDate":{"type":"string","format":"date-time","description":"Observation timestamp from the source detail row"},"bucket":{"$ref":"#/components/schemas/ResearchDerivedBucket","description":"Derived bucket using inclusive 0, 3, 6, 12, and 24 month boundaries"},"monthsFromNow":{"type":"integer","format":"int32","description":"Whole months from now() to targetDate"},"targetDate":{"type":"string","format":"date-time","description":"Absolute target date stored for a targetDateAbsolute detail row"}},"required":["asOfDate","bucket","monthsFromNow","targetDate"]},"ResearchDerivedBucket":{"type":"string","description":"Bucket computed from now() to the target date with inclusive boundaries at 0, 3, 6, 12, and 24 months","enum":["pastDue","withinThreeMonths","threeToSixMonths","sixToTwelveMonths","twelveToTwentyFourMonths","beyondTwoYears"]},"GithubRepo":{"type":"object","description":"GitHub repository synced for an entity or person from their current github URL links. githubId is GitHub\'s stable numeric repository id; rows are replaced per owner on each sync, so counts and timestamps reflect the last sync.","properties":{"createdAt":{"type":["string","null"],"format":"date-time"},"description":{"type":["string","null"]},"forkCount":{"type":"integer","format":"int32"},"githubId":{"type":"integer","format":"int64","description":"GitHub\'s stable numeric repository id; sync upsert key per owner"},"homepageUrl":{"type":["string","null"],"description":"Project homepage URL declared on the repository"},"id":{"type":"integer","format":"int64"},"isArchived":{"type":"boolean","description":"True when the repository is archived on GitHub"},"isFork":{"type":"boolean","description":"True when the repository is a fork of another repository"},"language":{"type":["string","null"],"description":"Primary language reported by GitHub"},"license":{"type":["string","null"],"description":"SPDX license id reported by GitHub"},"name":{"type":"string","description":"Repository name (slug segment after the login)"},"ownerLogin":{"type":"string","description":"GitHub account login (org or user) the repository belongs to"},"repoCreatedAt":{"type":["string","null"],"format":"date-time","description":"GitHub created_at of the repository"},"repoPushedAt":{"type":["string","null"],"format":"date-time","description":"GitHub pushed_at of the repository at last sync"},"stargazerCount":{"type":"integer","format":"int32"},"topic":{"type":"array","description":"Repository topics reported by GitHub","items":{"type":"string"}},"updatedAt":{"type":["string","null"],"format":"date-time"},"url":{"type":"string","description":"Canonical https GitHub repository page URL"}},"required":["forkCount","githubId","id","isArchived","isFork","name","ownerLogin","stargazerCount","topic","url"]},"PersonInvestorParticipation":{"type":"object","description":"Person investor with round participation labels and count","properties":{"investorAttribution":{"type":"array","items":{"$ref":"#/components/schemas/FundraiseInvestmentAttribution"}},"person":{"$ref":"#/components/schemas/PersonDetail"},"round":{"type":"array","items":{"$ref":"#/components/schemas/RoundLabel"}},"roundCount":{"type":"integer","format":"int32"}},"required":["investorAttribution","person","round","roundCount"]},"MediaObjectType":{"type":"string","description":"Target domain for media operations (logos, pictures, thumbnails)","enum":["ENTITY","PERSON","NEWS","BLOG"],"example":"ENTITY"},"DatasourceSourceMetadata":{"type":"object","description":"Grouped source/provenance metadata for private v1 response fields","properties":{"changedAt":{"type":["string","null"],"format":"date-time"},"dataSourceUpdatedAt":{"type":["string","null"],"format":"date-time"},"detail":{"type":["string","null"]},"kind":{"type":["string","null"]},"pendingApproval":{"type":["integer","null"],"format":"int32"},"sourceId":{"type":["string","null"]},"status":{"type":["string","null"]}}},"EntityInvestorParticipation":{"type":"object","description":"Entity investor with round participation and enrichment data (addresses, URLs)","properties":{"entity":{"$ref":"#/components/schemas/EntityDetail"},"investorAttribution":{"type":"array","items":{"$ref":"#/components/schemas/FundraiseInvestmentAttribution"}},"round":{"type":"array","items":{"$ref":"#/components/schemas/RoundLabel"}},"roundCount":{"type":"integer","format":"int32"}},"required":["entity","investorAttribution","round","roundCount"]},"StageFrequency":{"type":"object","description":"Canonical equity stage derived from a transaction calculatedRoundLabel, with deal frequency ranked by count descending.","properties":{"count":{"type":"integer","format":"int32"},"stage":{"type":"string"}},"required":["count","stage"]},"FundraiseDataConfidence":{"type":"string","description":"Fundraise data confidence label","enum":["High","Medium","Low","Verified"]},"FundraiseFinancialInstrumentType":{"type":"string","description":"Fundraise financial instrument type — the vehicle a round or investor join used","enum":["SAFE","Convertible Note","Preferred Stock","Common Stock","Other Equity","Bond","Loan","Other Debt","Grant","Token"]},"HarnessChassis":{"type":"string","description":"Agent loop a harness run executes on: the Claude Agent SDK or the Pi agent SDK","enum":["claude-agent-sdk","pi-agent-sdk"]},"HarnessRunEnvironment":{"type":"string","description":"Owning API environment","enum":["unassigned","development","staging","production"]},"HarnessRunLane":{"type":"string","description":"Queue lane for admission priority: interactive client work vs background backlog","enum":["interactive","background"]},"HarnessLlmApi":{"type":"string","description":"Gateway wire API for a run\'s LLM calls: Anthropic Messages, OpenAI Chat Completions, or OpenAI Responses","enum":["anthropic","openai-chat","openai-responses"]},"HarnessRunStatus":{"type":"string","description":"Harness run lifecycle state","enum":["queued","running","completed","failed","stopped"]},"HarnessRunType":{"type":"string","description":"Harness run kind: full enrichment loop or bounded micro-task","enum":["ENRICHMENT","TASK"]},"Publication":{"type":"object","description":"Canonical public content card across news, blog posts, social posts, repositories, websites, pages, and research papers.","properties":{"canonicalUrl":{"type":["string","null"],"description":"Canonical URL when known."},"contentId":{"type":"string","description":"Stable content id scoped by contentType."},"contentType":{"$ref":"#/components/schemas/PublicationType","description":"Public content source type."},"createdAt":{"type":["string","null"],"format":"date-time","description":"Publication row creation instant when known."},"publishedAt":{"type":["string","null"],"format":"date-time","description":"Publication or source activity instant when known."},"relation":{"description":"How this content relates to the requested owner.","oneOf":[{"$ref":"#/components/schemas/PublicationRelation"},{"type":"null"}]},"sourceDomain":{"type":["string","null"],"description":"Registrable source domain when known."},"sourceName":{"type":["string","null"],"description":"Publication, platform owner, or source label."},"summary":{"type":["string","null"],"description":"Short summary or excerpt when known."},"title":{"type":"string","description":"Human title or best available display label. webPage rows restate the page URL when the crawl captured no label; renderers may humanize that fallback."},"topic":{"type":["string","null"],"description":"Single canonical topic key (web-crawl section or news-event topic) or source category (repository language); null when the source has no classified topic."},"updatedAt":{"type":["string","null"],"format":"date-time","description":"Publication row update instant when known."},"url":{"type":["string","null"],"description":"Primary URL for this content card."},"year":{"type":["integer","null"],"format":"int32","description":"Best-effort content year used by the year filter."}},"required":["contentId","contentType","title"]},"EntityTag":{"allOf":[{"$ref":"#/components/schemas/Classification"},{"type":"object","properties":{"bucket":{"type":["string","null"],"description":"Canonical entity-classification bucket key. Use this as EntityClassificationMutation.type when creating by type plus name; `type` remains the registry wire value for tag search and catalog round-trips."},"classificationId":{"type":["integer","null"],"format":"int32","description":"Entity classification join row id for update/delete; present on entity classification responses and null on discovery responses."},"creatable":{"type":"boolean","description":"Whether this bucket permits creating missing values by type plus name."},"createdAt":{"type":["string","null"],"format":"date-time","description":"Registry tag creation timestamp, not the entity join timestamp."},"id":{"type":"integer","format":"int32","description":"Classification tag registry id from res_type_ref; use as EntityClassificationMutation.tagId."},"isCurrent":{"type":["boolean","null"],"description":"Current-state flag for this context: registry active flag in discovery, entity join current flag in entity-classification responses."},"isPrimary":{"type":["boolean","null"],"description":"Entity join primary flag within its bucket; null on catalog/tag discovery."},"name":{"type":"string","description":"Name","maxLength":255,"minLength":0},"slug":{"type":["string","null"],"description":"Slug","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"},"type":{"type":"string","description":"Canonical tag classification type","example":"industry"},"updatedAt":{"type":["string","null"],"format":"date-time","description":"Registry tag update timestamp; join updates return isCurrent/isPrimary but no join updatedAt."},"writable":{"type":"boolean","description":"Whether this existing tag can be joined through tagId."}}}],"description":"Canonical classification tag projection. Catalog/search responses describe registry tags; entity-classification responses include classificationId plus join state.","required":["creatable","id","name","type","writable"]},"StandardizedClassification":{"allOf":[{"$ref":"#/components/schemas/Classification"},{"type":"object","properties":{"category":{"type":"string","description":"Standardized category token."},"code":{"type":["integer","null"],"format":"int32","description":"Standardized classification code when present."},"creatable":{"type":"boolean","description":"Standardized taxonomy rows are join-existing-only."},"createdAt":{"type":["string","null"],"format":"date-time","description":"Registry row creation timestamp."},"entityClassificationId":{"type":["integer","null"],"format":"int32","description":"Entity classification join row id for update/delete; present on entity classification responses and null on discovery responses."},"id":{"type":"integer","format":"int32","description":"Standardized classification registry id from res_classification_ref; use as EntityClassificationMutation.classificationId."},"isCurrent":{"type":["boolean","null"],"description":"Standardized reference rows are current by definition."},"isPrimary":{"type":["boolean","null"],"description":"Entity join primary flag within this standardized category."},"level":{"type":["integer","null"],"format":"int32","description":"Hierarchy level when present."},"name":{"type":"string","description":"Name","maxLength":255,"minLength":0},"updatedAt":{"type":["string","null"],"format":"date-time","description":"Registry row update timestamp."},"writable":{"type":"boolean","description":"Existing standardized rows can be joined through classificationId."}}}],"description":"Canonical standardized classification projection backed by res_classification_ref. Rows are join-existing-only; creatable is false until a taxonomy writer exists.","required":["category","creatable","id","name","writable"]},"Classification":{"type":"object","properties":{"creatable":{"type":"boolean"},"isCurrent":{"type":["boolean","null"]},"isPrimary":{"type":["boolean","null"]},"name":{"type":"string","description":"Display name. Capped to the standardized taxonomy storage limit because this shared read contract covers NAICS/SIC/ISIC-style classification labels as well as editorial tags.","maxLength":255,"minLength":0},"writable":{"type":"boolean"}},"required":["creatable","name","writable"]},"BlogPostType":{"type":"string","description":"External research-side blog-post source classification","enum":["aventureBlog","personalBlog","employerBlog","linkedin","xTwitter","medium","substack","other"],"example":"personalBlog"},"AddressAssociation":{"type":"object","description":"One role and effective period for a physical address association","properties":{"endDate":{"type":["string","null"],"format":"date","description":"Last known day this role applied"},"id":{"type":"integer","format":"int32","description":"Address association row identifier","example":123},"isCurrent":{"type":"boolean","description":"Whether this role is currently relevant"},"role":{"description":"Address association role; null means unclassified","oneOf":[{"$ref":"#/components/schemas/AddressAssociationRole"},{"type":"null"}]},"startDate":{"type":["string","null"],"format":"date","description":"First known day this role applied"}},"required":["id","isCurrent"]},"AddressCity":{"type":"object","description":"City reference used inside an address","properties":{"id":{"type":["integer","null"],"format":"int32"},"name":{"type":"string","description":"City name","example":"Boston"}},"required":["name"]},"AddressCountry":{"type":"object","description":"Country reference used inside an address","properties":{"countryCodeChar2":{"type":["string","null"],"description":"Two-letter country code","example":"US"},"countryCodeChar3":{"type":["string","null"],"description":"Three-letter country code","example":"USA"},"id":{"type":["integer","null"],"format":"int32"},"name":{"type":"string","description":"Country name","example":"United States"},"unRegion":{"type":["string","null"]},"unSubregion":{"type":["string","null"]}},"required":["name"]},"AddressState":{"type":"object","description":"State or region reference used inside an address","properties":{"id":{"type":["integer","null"],"format":"int32"},"name":{"type":"string","description":"State or region name","example":"Massachusetts"},"stateAbbrev":{"type":["string","null"],"description":"State or region abbreviation","example":"MA"}},"required":["name"]},"AddressAssociationRole":{"type":"string","description":"Meaning of an entity or person address association. Domicile is a legal or registered seat and is not evidence of operational presence; dominant is the predominant display location; origin is the founding or historical location.","enum":["domicile","dominant","origin"]},"EntityAcquisitionEvidence":{"type":"object","description":"Booleans confirming each managed row written by the acquisition endpoint.","properties":{"fundraiseInvestorJoin":{"type":"boolean"},"fundraiseTransaction":{"type":"boolean"},"operatingStatus":{"type":"boolean"},"relationship":{"type":"boolean"}},"required":["fundraiseInvestorJoin","fundraiseTransaction","operatingStatus","relationship"]},"EntityAcquisitionStage":{"type":"string","description":"Acquisition stage/status values used by acquisition APIs and fundraise rollups. Acquisition is neutral before operating-status change; Acquired Subsidiary is completed and still operating; Acquired is terminal or folded, including Closed (Acquihire).","enum":["Acquisition","Acquired","Acquired Subsidiary"]},"FundraiseTransactionStatus":{"type":"string","description":"Fundraise transaction status label","enum":["Announced","Announced; subject to approvals and closing conditions","Active","Closed","Completed","In Progress","Open"]},"ResearchParagraphShape":{"type":"object","description":"Write-time per-paragraph shape rule for governed text bodies. Paragraphs split on `\\\\n\\\\n` (one blank line). Each paragraph must satisfy minChars..maxChars and minSentences..maxSentences; whole body must satisfy minParagraphs..maxParagraphs (null maxParagraphs = unbounded). Sentence boundaries follow Unicode rules (java.text.BreakIterator), so \'Inc.\' and \'U.S.\' do not split a sentence.","properties":{"maxChars":{"type":"integer","format":"int32","description":"Maximum characters per paragraph (inclusive)."},"maxParagraphs":{"type":["integer","null"],"format":"int32","description":"Maximum paragraph count (inclusive); null means unbounded."},"maxSentences":{"type":"integer","format":"int32","description":"Maximum sentences per paragraph (inclusive)."},"minChars":{"type":"integer","format":"int32","description":"Minimum characters per paragraph (inclusive)."},"minParagraphs":{"type":"integer","format":"int32","description":"Minimum paragraph count (inclusive)."},"minSentences":{"type":"integer","format":"int32","description":"Minimum sentences per paragraph (inclusive)."}},"required":["maxChars","maxSentences","minChars","minParagraphs","minSentences"]},"EntityFundraiseFilterCriteria":{"type":"object","description":"Fundraise and investment filters for entity search","properties":{"amountInvestedRange":{"type":"array","description":"Investor-level amount-invested ranges in the transaction currency. Use plain JSON numbers.","items":{"$ref":"#/components/schemas/DecimalRange"}},"amountRaisedRange":{"type":"array","description":"Per-round amount-raised ranges in USD. Use plain JSON numbers.","items":{"$ref":"#/components/schemas/DecimalRange"}},"investedCompanyName":{"type":"array","description":"Portfolio company names. Exact, case-sensitive match on the portfolio company\'s brand or legal name; restricts returned entities to investors in those companies.","items":{"type":"string"}},"investorActivity":{"$ref":"#/components/schemas/InvestorActivityFilter","description":"Aggregate investor activity filters."},"lastRoundYearRange":{"type":"array","description":"Last-round-year ranges for each entity\'s most recent fundraise round.","items":{"$ref":"#/components/schemas/IntRange"}},"round":{"type":"array","description":"Fundraise round labels, such as Seed or Series A.","items":{"type":"string"}},"totalRaisedRange":{"type":"array","description":"Total-raised ranges across all rounds in USD. Use plain JSON numbers.","items":{"$ref":"#/components/schemas/DecimalRange"}},"valuationRange":{"type":"array","description":"Post-money valuation ranges in USD.","items":{"$ref":"#/components/schemas/DecimalRange"}}}},"EntityFilterLogoOption":{"type":"object","description":"Logo sort priority for entity search","properties":{"sortPriority":{"type":"string","description":"Logo sort priority.","enum":["NONE","ANY_LOGO_FIRST","REAL_LOGO_FIRST"]}}},"ResearchValueRange":{"type":"object","properties":{"max":{"type":"number","format":"double"},"min":{"type":"number","format":"double"}},"required":["max","min"]},"ResearchValueShapeType":{"type":"string","description":"Closed write-time value shape token. Shape, not valueType, selects which write fields and validation rules apply.","enum":["acceleratorParticipation","enumeratedToken","freeText","isoCurrencyCode","monetaryFlow","monetaryFlowOverPeriod","monetaryStock","numericCount","numericCountOrRange","numericGrowthRate","numericRatio","numericScore","targetDateAbsolute"]},"EntityComparisonSignals":{"type":"object","description":"Competitive comparison signals for a provider entity — sells-to customers, pricing model, ownership, funding stage, total raised, and website. Projected from entity enrichment for side-by-side comparison; founded year rides the entity core.","properties":{"fundingStage":{"description":"Latest funding stage when known","oneOf":[{"$ref":"#/components/schemas/FundingStage"},{"type":"null"}]},"ownership":{"type":"array","description":"Provider ownership structure (current typeOwnership tags)","items":{"type":"string"}},"pricingModel":{"type":"array","description":"Provider pricing/revenue model (current typeRevenue tags)","items":{"type":"string"}},"sellsTo":{"type":"array","description":"Customer types the provider sells to (current typeCustomer tags)","items":{"type":"string"}},"totalRaised":{"type":["number","null"],"description":"Total capital raised when known"},"website":{"type":["string","null"],"format":"uri","description":"Provider website URL when known"}},"required":["ownership","pricingModel","sellsTo"]},"RelationshipDirection":{"type":"string","description":"How entities relationships create interprets sourceEntityId and targetEntityId.","enum":["symmetric","typeOriented","directional"]},"SearchInterpretation":{"type":"object","description":"Structured interpretation of a natural-language entity search: canonical filter, sort, confidence, and any unsupported constraint the planner could not translate.","properties":{"confidence":{"$ref":"#/components/schemas/Confidence","description":"Planner confidence in the structured interpretation."},"execution":{"$ref":"#/components/schemas/SearchModeExecution","description":"Requested and executed search strategy."},"fallbackUsed":{"type":"boolean","description":"True when the semantic fallback replaced an untranslatable planner result with a semantic search over the original query."},"filter":{"$ref":"#/components/schemas/EntityListFilter","description":"Canonical entity filter generated from the natural-language query."},"interpretation":{"type":"string","description":"Human-readable summary of how the query was interpreted."},"sort":{"$ref":"#/components/schemas/SearchOrderingEntityFilterSortable","description":"Ordering applied to the result page: the relevance rank that ran first, if any, then the sortable-column terms."},"unsupported":{"type":["string","null"],"description":"Constraint the planner could not translate into the canonical EntityFilter contract; null when every material constraint was supported."}},"required":["confidence","execution","fallbackUsed","filter","interpretation","sort"]},"PageResultEntityList":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityList"}},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","number","size","totalElements","totalPages"]},"SearchOrderingEntityFilterSortable":{"type":"object","description":"Ordering applied to a search result page: an optional relevance rank that precedes the sortable-column terms.","properties":{"order":{"type":"array","description":"Sortable-column terms applied after the relevance rank, highest precedence first. Empty when the relevance rank alone ordered the page. Listing priorities that every list page applies ahead of these terms, such as operating-status and logo priority, are not reported.","items":{"$ref":"#/components/schemas/SortOrderEntityFilterSortable"}},"relevance":{"description":"Relevance rank applied before any column term; absent when no relevance rank ran.","oneOf":[{"$ref":"#/components/schemas/SearchRelevance"},{"type":"null"}]}},"required":["order"]},"SortOrderEntityFilterSortable":{"type":"object","description":"Single sort term: which enumerated sort field to use and whether direction is descending.","properties":{"descending":{"type":"boolean","description":"true for descending (DESC), false for ascending (ASC)"},"field":{"type":"string","description":"Sort field for this resource (entity list uses EntityFilter.Sortable / published sort keys).","enum":["ID","NAME_BRAND","YEAR_FOUNDED","STATUS_OPERATING","UPDATED_AT","CREATED_AT","TOTAL_RAISED","AMOUNT_INVESTED","RECENT_INVESTMENT_AT","STAGE","MOST_RECENT_AMOUNT","LATEST_VALUATION","MOST_RECENT_DATE","ACCELERATOR_BRAND","ACCELERATOR_COHORT","HEADQUARTERS_COUNTRY","EMPLOYEE_COUNT"]}},"required":["descending","field"]},"IdentificationCandidate":{"type":"object","description":"One existing record considered as the subject.","properties":{"dataCompletionCoverage":{"type":["integer","null"],"format":"int32","description":"Percentage, 0 to 100, of the company\'s required completion-floor slots that pass, as last computed by the background coverage sweep; GET /v1/entities/{entityId}/coverage returns the live per-slot detail. Absent for people, who have no completion floor, and for companies not yet computed.","maximum":100,"minimum":0},"duplicateBasis":{"type":["string","null"],"description":"How this record was checked as the picked record stored again; absent when it was not checked.","enum":["STUB","SHARED_FACT","JUDGED"]},"duplicateProbability":{"type":["number","null"],"format":"double","description":"Decision-model probability, 0 to 1, that this record is the picked record stored again; present only when duplicateBasis is JUDGED."},"owner":{"$ref":"#/components/schemas/EntityPersonOwner","description":"Whether the record is a company (entityId) or a person (personId); read it with GET /v1/entities/{entityId} or GET /v1/people/{personId}."},"probability":{"type":["number","null"],"format":"double","description":"Decision-model probability, 0 to 1, that this record is the subject; absent when the answer came from URL proof or the model did not judge this record."},"record":{"$ref":"#/components/schemas/SearchDuplicateCandidateScore","description":"The record with its duplicate-check score and reasons; score 0 with no reason means only vector similarity proposed it."},"updatedAt":{"type":["string","null"],"format":"date-time","description":"When the stored record was last updated."}},"required":["owner","record"]},"SearchDuplicateCandidateScore":{"type":"object","description":"Duplicate candidate scoring result. Use id/name/slug/typeRecord/reason to decide whether the candidate is the requested record. score ranks review priority; it does not prove absence.","properties":{"externalId":{"type":["string","null"],"description":"Matched external identifier when duplicate scoring used one."},"id":{"type":"string","format":"uuid","description":"Candidate id to read or update when this candidate is the requested record."},"name":{"type":["string","null"],"description":"Candidate display name from the existing record."},"operatingStatus":{"type":["string","null"],"description":"Current operating status for entity candidates."},"publicPath":{"type":["string","null"],"description":"Public API/UI path for the candidate when available."},"reason":{"type":"array","description":"Match reasons such as name-exact, slug-exact, url-match, url-current, url-type, or precomputed-similarity. url-match proves the supplied URL/domain matched; url-current additionally proves the candidate still holds that address today, so a candidate with url-match but no url-current matched only through a URL it no longer uses, such as an acquisition redirect. url-type only means the candidate has the same URL category and is review context, not URL identity evidence.","items":{"type":"string"}},"score":{"type":"integer","format":"int32","description":"Ranking score for duplicate review. It is not an absence proof; a low score can still be the intended record when reason/name/slug/typeRecord match."},"slug":{"type":["string","null"],"description":"Candidate slug from the existing record.","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"},"typeRecord":{"description":"Candidate entity type from the existing record.","oneOf":[{"$ref":"#/components/schemas/EntityType"},{"type":"null"}]}},"required":["id","reason","score"]},"EntityFilterEntry":{"type":"object","description":"Filter entry payload served by list filter endpoints","properties":{"chart":{"type":"array","description":"Chart filter values","items":{"$ref":"#/components/schemas/ChartBucket"}},"choiceOption":{"type":"array","description":"Choice option filter values","items":{"$ref":"#/components/schemas/EntityFilterChoice"}},"choiceOptionTotal":{"type":["integer","null"],"format":"int32","description":"Total eligible choice option values for this filter"},"choiceOptionTruncated":{"type":["boolean","null"],"description":"Whether additional eligible choices exist beyond choiceOption"},"controlType":{"$ref":"#/components/schemas/EntityFilterControlType","description":"Control type used to render the filter"},"filterKey":{"type":"string","description":"Canonical filter key"},"filterMeta":{"description":"Optional entity-specific filter metadata","oneOf":[{"$ref":"#/components/schemas/EntityFilterMeta"},{"type":"null"}]},"label":{"type":"string","description":"Display label for the filter"},"scope":{"description":"Optional numeric scope for the filter","oneOf":[{"$ref":"#/components/schemas/EntityFilterScope"},{"type":"null"}]}},"required":["chart","choiceOption","controlType","filterKey","label"]},"RefinementMeta":{"type":"object","description":"Meta","properties":{"degraded":{"type":"boolean","description":"Whether retrying may improve scoped choice totals"},"limit":{"type":"integer","format":"int32","description":"Maximum entities sampled for displayed choices."},"page":{"type":"integer","format":"int32","description":"Zero-based result page used to build the refinement."},"total":{"type":["integer","null"],"format":"int32","description":"Total entities matching the active filter; null when unavailable."}},"required":["degraded","limit","page"]},"ChartBucket":{"type":"object","description":"Typed bucket for range histogram charts","properties":{"amount":{"type":"integer","format":"int64","description":"Amount"},"end":{"type":"integer","format":"int64","description":"Exclusive bucket end value"},"start":{"type":"integer","format":"int64","description":"Inclusive bucket start value"}},"required":["amount","end","start"]},"EntityFilterChoice":{"type":"object","description":"Filter choice payload served by filter endpoints","properties":{"label":{"type":"string","description":"Display label for the option"},"scope":{"description":"Optional numeric scope for the option","oneOf":[{"$ref":"#/components/schemas/EntityFilterScope"},{"type":"null"}]},"value":{"type":"string","description":"Canonical option value"}},"required":["label","value"]},"EntityFilterControlType":{"type":"string","description":"Render control discriminator for filter UI components","enum":["checkbox","range","currencyRange","dateRange"]},"EntityFilterMeta":{"type":"object","description":"API response fragment for entity filter metadata","properties":{"ui":{"description":"UI metadata for rendering entity filter controls","oneOf":[{"$ref":"#/components/schemas/EntityFilterUiMeta"},{"type":"null"}]}}},"EntityFilterScope":{"type":"object","additionalProperties":false,"description":"Numeric min/max bounds for range filter values","properties":{"max":{"type":["integer","null"],"format":"int64","description":"Maximum scope value"},"min":{"type":["integer","null"],"format":"int64","description":"Minimum scope value"}}},"EntityFilterUiMeta":{"type":"object","description":"UI-only metadata used for rendering entity filter panels","properties":{"headquartersOption":{"oneOf":[{"$ref":"#/components/schemas/EntityFilterHeadquartersOptionSet"},{"type":"null"}]}}},"EntityFilterHeadquartersOptionSet":{"type":"object","description":"Headquarters option hierarchy","properties":{"country":{"type":"array","description":"Countries with their states and cities","items":{"$ref":"#/components/schemas/EntityFilterHeadquartersCountry"}}},"required":["country"]},"EntityFilterHeadquartersCountry":{"type":"object","description":"Country with its states (and optionally cities)","properties":{"country":{"type":"string","description":"Country name"},"state":{"type":"array","description":"States within the country","items":{"$ref":"#/components/schemas/EntityFilterHeadquartersStateCity"}}},"required":["country","state"]},"EntityFilterHeadquartersStateCity":{"type":"object","description":"City within a state","properties":{"city":{"type":"array","description":"Cities within the state; empty when only states were requested","items":{"type":"string"}},"state":{"type":"string","description":"State name"}},"required":["city","state"]},"EntityFilterOptionSetMeta":{"type":"object","description":"Generator metadata for a filter payload","properties":{"defaultOptionLimit":{"type":"integer","format":"int32","description":"Default maximum option count"},"defaultTypeGroup":{"$ref":"#/components/schemas/EntityTypeGroup","description":"Default type group"},"distributionKey":{"type":"array","description":"Filter keys that include distribution data","items":{"type":"string"}},"generatedAt":{"type":"string","format":"date-time","description":"Generation timestamp"},"includeDistribution":{"type":"boolean","description":"Whether distribution data is included"},"includePrivate":{"type":"boolean","description":"Whether private filter options are included"},"includedTypeRecord":{"type":"array","description":"Entity type records included in the filter payload","items":{"type":"string"}},"optionMode":{"$ref":"#/components/schemas/EntityFilterOptionMode","description":"Option mode used to generate option lists"},"requestedTypeGroup":{"type":"string","description":"Requested entity type group"},"typeGroupMembership":{"type":"array","description":"Type group membership filter values","items":{"$ref":"#/components/schemas/EntityTypeGroupMembership"}}},"required":["defaultOptionLimit","distributionKey","generatedAt","includeDistribution","includePrivate","includedTypeRecord","optionMode","requestedTypeGroup"]},"EntityFilterOptionMode":{"type":"string","description":"Filter option mode","enum":["TOP_RESULTS","FULL_RESULTS"]},"EntityTypeGroupMembership":{"type":"object","description":"Canonical concrete entity types included by one entity type group.","properties":{"typeGroup":{"$ref":"#/components/schemas/EntityTypeGroup"},"typeRecord":{"type":"array","items":{"$ref":"#/components/schemas/EntityType"}}},"required":["typeGroup","typeRecord"]},"ClassificationCatalogBucket":{"type":"object","description":"Classification bucket with active registry tags and accepted-spelling aliases.","properties":{"alias":{"type":"array","description":"Other accepted spellings for this bucket (JSON key plus storage form, deduplicated against `type`). The /tags ?type= and /catalog ?bucketType= parameters accept any of `[type, ...alias]`. Empty when the bucket has only one canonical spelling.","items":{"type":"string"}},"bucket":{"type":["string","null"],"description":"Canonical entity-classification bucket key. Use as EntityClassificationMutation.type when creating by type plus name."},"creatable":{"type":"boolean","description":"Whether missing values in this bucket can be created by name."},"hierarchical":{"type":"boolean","description":"Whether the bucket has hierarchy semantics."},"label":{"type":"string","description":"Human-readable bucket label (e.g. \'Revenue Model\')."},"tag":{"type":"array","description":"Active registry tags only. Empty when includeTags=false; dormant tags are omitted and require write-time inactiveTagOverride recovery when type + name matches.","items":{"$ref":"#/components/schemas/EntityTag"}},"tagCount":{"type":"integer","format":"int32","description":"Total active tags in this bucket. Populated regardless of `includeTags` so callers can decide whether to fetch detail without a follow-up count query."},"type":{"type":"string","description":"Canonical wire value — use as ?type= for /tags, as ?bucketType= for /catalog, and as Tag.type when round-tripping. Matches Tag.type returned in this bucket\'s tag[]."},"writable":{"type":"boolean","description":"Whether existing rows in this bucket can be joined."}},"required":["alias","creatable","hierarchical","label","tag","tagCount","type","writable"]},"ClassificationCatalogCategory":{"type":"object","description":"Standardized classification category with accepted spellings and registry rows.","properties":{"alias":{"type":"array","description":"Accepted spellings for this category.","items":{"type":"string"}},"category":{"type":"string","description":"Canonical standardized category key."},"classification":{"type":"array","description":"Standardized classifications. Empty when includeTags=false.","items":{"$ref":"#/components/schemas/StandardizedClassification"}},"classificationCount":{"type":"integer","format":"int32","description":"Total standardized classifications in this category."},"creatable":{"type":"boolean","description":"Whether missing values in this category can be created by name."},"hierarchical":{"type":"boolean","description":"Whether the category has hierarchy semantics."},"label":{"type":"string","description":"Human-readable category label."},"writable":{"type":"boolean","description":"Whether existing rows in this category can be joined."}},"required":["alias","category","classification","classificationCount","creatable","hierarchical","label","writable"]},"EnrichmentRefusalType":{"type":"string","description":"Why a batch enrichment filed no run: NOT_FOUND for an unknown record; ALLOWANCE_EXHAUSTED when the record\'s company or person research allowance is spent and additional usage is off or at its spend cap or prepaid credit; AMBIGUOUS when the record\'s profile matches more than one current record; SUBSCRIPTION_REQUIRED when the subscription stopped covering research mid-batch, such as additional usage while past due","enum":["NOT_FOUND","ALLOWANCE_EXHAUSTED","AMBIGUOUS","SUBSCRIPTION_REQUIRED"]},"BillingAdditionalUsage":{"type":"object","description":"Opt-in metered usage past the monthly allowance: settings, spend this UTC month, prepaid credit, and unbilled usage.","properties":{"availableCreditCents":{"type":"number","description":"Prepaid credit not yet consumed by priced usage, in cents."},"blocked":{"type":"boolean","description":"True while a failed threshold invoice blocks additional usage; paying it in Billing Portal clears the block."},"enabled":{"type":"boolean","description":"Whether usage past the monthly caps is recorded and billed."},"funding":{"oneOf":[{"$ref":"#/components/schemas/BillingAdditionalUsageFundingType"},{"type":"null"}]},"invoiceIncrementCents":{"type":["integer","null"],"format":"int64","description":"USAGE_INVOICE bills an invoice once unbilled usage reaches this many cents; the invoice can exceed it by the usage recorded while it was being created."},"meter":{"type":"array","items":{"$ref":"#/components/schemas/BillingAdditionalUsageMeter"}},"resetAt":{"type":"string","format":"date-time","description":"When spentCents returns to zero: the next UTC month."},"spendCapCents":{"type":["integer","null"],"format":"int64","description":"Monthly spend cap in cents. Required for USAGE_INVOICE; absent for PREPAID_CREDIT means only the prepaid credit bounds usage."},"spentCents":{"type":"number","description":"Additional usage priced this UTC month, in cents."},"unbilledCents":{"type":"number","description":"Priced usage not yet paid by credit or placed on an invoice, in cents; the next threshold or period invoice bills it."}},"required":["availableCreditCents","blocked","enabled","meter","resetAt","spentCents","unbilledCents"]},"ResearchAllowanceUsage":{"type":"object","properties":{"company":{"$ref":"#/components/schemas/ResearchAllowance","description":"Research runs on company targets, new or existing"},"entityView":{"$ref":"#/components/schemas/ResearchAllowance"},"newCompany":{"$ref":"#/components/schemas/ResearchAllowance","deprecated":true,"description":"Deprecated: replaced by company, which it mirrors."},"newPerson":{"$ref":"#/components/schemas/ResearchAllowance","deprecated":true,"description":"Deprecated: replaced by person, which it mirrors."},"person":{"$ref":"#/components/schemas/ResearchAllowance","description":"Research runs on person-profile targets, new or existing"},"personView":{"$ref":"#/components/schemas/ResearchAllowance"},"update":{"$ref":"#/components/schemas/ResearchAllowance","deprecated":true,"description":"Deprecated: replaced by company, which it mirrors."},"updatePerson":{"$ref":"#/components/schemas/ResearchAllowance","deprecated":true,"description":"Deprecated: replaced by person, which it mirrors."},"webSearch":{"$ref":"#/components/schemas/ResearchAllowance"}},"required":["company","entityView","newCompany","newPerson","person","personView","update","updatePerson","webSearch"]},"BillingPlanType":{"type":"string","description":"Canonical paid billing plan offered by aVenture.","enum":["PLUS_MONTHLY","PLUS_YEARLY","PRO_MONTHLY","PRO_YEARLY","PRO_YEARLY_PROMOTION"]},"BillingRecurringPrice":{"type":"object","properties":{"cadence":{"type":"string","description":"ISO 8601 billing period.","example":"P1Y"},"currency":{"type":"string","description":"ISO 4217 currency code.","example":"USD"},"unitAmount":{"type":"integer","format":"int64","description":"Recurring charge in the currency\'s minor unit, before discounts"}},"required":["cadence","currency","unitAmount"]},"BillingAdditionalUsageFundingType":{"type":"string","description":"PREPAID_CREDIT spends purchased credit packs and stops when they run out. USAGE_INVOICE bills an invoice each time unbilled usage reaches invoiceIncrementCents, up to spendCapCents per month.","enum":["PREPAID_CREDIT","USAGE_INVOICE"]},"BillingAdditionalUsageMeter":{"type":"object","description":"One meter\'s additional usage this UTC month.","properties":{"amountCents":{"type":"number","description":"Price of those units in cents."},"quantity":{"type":"integer","format":"int32"},"type":{"$ref":"#/components/schemas/BillingAdditionalUsageType"}},"required":["amountCents","quantity","type"]},"BillingAdditionalUsageType":{"type":"string","description":"One metered allowance a paid subscriber may use past its monthly cap.","enum":["COMPANY","PERSON","ENTITY_VIEW","PERSON_VIEW","WEB_SEARCH","AI_CREDIT"]},"BillingCatalogAdditionalUsage":{"type":"object","description":"Price of one unit of usage past a paid tier\'s monthly cap.","properties":{"type":{"$ref":"#/components/schemas/BillingAdditionalUsageType"},"unitAmount":{"type":"number","description":"US cents per unit; may be fractional, such as 2.5."}},"required":["type","unitAmount"]},"BillingCatalogCreditPack":{"type":"object","description":"One prepaid credit pack.","properties":{"amountCents":{"type":"integer","format":"int64","description":"Credit granted and price charged, in US cents."},"pack":{"$ref":"#/components/schemas/BillingCreditPackType"}},"required":["amountCents","pack"]},"BillingCatalogPlan":{"type":"object","description":"One Checkout plan and its recurring price.","properties":{"cadence":{"type":"string","description":"ISO 8601 billing period.","example":"P1M"},"currency":{"type":"string","description":"ISO 4217 currency code.","example":"USD"},"displayName":{"type":"string"},"introductoryAmount":{"type":["integer","null"],"format":"int64","description":"First invoice amount when an automatic, one-time Checkout offer is available; absent otherwise. Renewals use unitAmount."},"plan":{"$ref":"#/components/schemas/BillingPlanType"},"tier":{"type":"string","enum":["ESSENTIAL","PLUS","PRO","UNLIMITED"]},"unitAmount":{"type":"integer","format":"int64","description":"Price per cadence in the currency\'s minor unit, such as cents."}},"required":["cadence","currency","displayName","plan","tier","unitAmount"]},"BillingCatalogTier":{"type":"object","description":"One subscription tier and its monthly caps.","properties":{"aiCreditLimit":{"type":["integer","null"],"format":"int32","description":"Researchly AI credits per Researchly billing period; 0 withholds them and absent means uncapped."},"allowance":{"type":"array","items":{"$ref":"#/components/schemas/BillingCatalogAllowance"}},"displayName":{"type":"string"},"tier":{"type":"string","enum":["ESSENTIAL","PLUS","PRO","UNLIMITED"]}},"required":["allowance","displayName","tier"]},"BillingCatalogAllowance":{"type":"object","description":"A tier\'s monthly cap for one allowance.","properties":{"limit":{"type":["integer","null"],"format":"int32","description":"Monthly cap; 0 withholds the allowance and absent means uncapped."},"type":{"type":"string","enum":["COMPANY","PERSON","ENTITY_VIEW","PERSON_VIEW","WEB_SEARCH"]}},"required":["type"]},"BillingCreditPackType":{"type":"string","description":"Prepaid additional-usage credit pack.","enum":["USD_25","USD_50","USD_100","USD_250"]},"BillingPaymentMethod":{"type":"object","description":"Card on file that pays the subscription.","properties":{"brand":{"type":"string","description":"Card brand as Stripe reports it","example":"visa"},"last4":{"type":"string","description":"Last four digits of the card number","example":"4242"}},"required":["brand","last4"]},"BillingCheckoutUiMode":{"type":"string","description":"HOSTED_PAGE redirects the browser to Stripe\'s page at url. ELEMENTS renders the Payment Element in the caller\'s page with Stripe.js initCheckout using clientSecret and publishableKey, then confirms there.","enum":["HOSTED_PAGE","ELEMENTS"]},"AuthClient":{"type":"object","properties":{"authorizationServer":{"type":"string","format":"uri","description":"OAuth authorization server URI"},"clientId":{"type":"string","description":"Public OAuth client identifier"},"mcpResource":{"type":["string","null"],"format":"uri","description":"OAuth resource indicator accepted for this environment\'s MCP server"},"redirectUri":{"type":"string","format":"uri","description":"Registered loopback callback URI template"},"resource":{"type":"string","format":"uri","description":"OAuth resource indicator accepted by the API"},"scope":{"type":"array","description":"OAuth scope requested by the CLI","items":{"type":"string"}}},"required":["authorizationServer","clientId","redirectUri","resource","scope"]},"AuthOperation":{"type":"object","description":"Generated API operation candidate identified by operation id, method, and path.","properties":{"authorizationPath":{"type":"string","description":"Concrete path for authorization. Preserve the path template\'s literal segments and substitute its parameters with values matching their generated schema. No request is executed against this path.","maxLength":2048,"minLength":0},"method":{"$ref":"#/components/schemas/AuthOperationMethod","description":"HTTP method of the operation."},"operationId":{"type":"string","description":"Generated OpenAPI operation id.","maxLength":128,"minLength":0},"path":{"type":"string","description":"Absolute API path. A whole path segment may be an OpenAPI placeholder such as {entityId}.","maxLength":2048,"minLength":0}},"required":["authorizationPath","method","operationId","path"]},"AuthOperationAccess":{"type":"string","description":"Current session access class: ordinary reads, explicit permissions, or admin.","enum":["READ","PERMISSION","ADMIN"]},"AuthOperationMethod":{"type":"string","description":"HTTP method of a generated aVenture API operation.","enum":["GET","POST","PUT","PATCH","DELETE"]},"CliAuthorizationDelivery":{"type":"object","description":"RSA-wrapped AES-256-GCM delivery of one API-key secret","properties":{"algorithm":{"$ref":"#/components/schemas/CliAuthorizationEncryptionAlgorithm","description":"Hybrid encryption suite used for this delivery"},"authenticationTag":{"type":"string","description":"Base64-encoded 16-byte AES-GCM authentication tag"},"ciphertext":{"type":"string","description":"Base64-encoded encrypted UTF-8 API-key secret bytes"},"nonce":{"type":"string","description":"Base64-encoded 12-byte AES-GCM nonce"},"wrappedKey":{"type":"string","description":"Base64-encoded RSA-OAEP-wrapped AES key"}},"required":["algorithm","authenticationTag","ciphertext","nonce","wrappedKey"]},"CliAuthorizationStatus":{"type":"string","description":"CLI authorization broker lifecycle state","enum":["PENDING","ISSUING","KEY_READY","REVOKING","CONSUMED","REVOKED","DENIED","EXPIRED","FAILED"]},"CliAuthorizationTerminalReason":{"type":"string","description":"CLI authorization terminal explanation","enum":["Denied by user","Authorization request expired","CLI authorization expired before acknowledgement","Credential issuance recovery revoked an unrecoverable key","Revoked by user","Clerk create response validation failed","Credential issuance failed","Credential issuance could not be recovered","API-key quota reached","Credential issuance lost its database claim","Credential delivery encryption failed","Credential issuance finalization was lost"]},"CliAuthorizationEncryptionAlgorithm":{"type":"string","description":"Versioned hybrid encryption suite for one-time CLI credential delivery","enum":["RSA_OAEP_256_A256_GCM_V1"]},"CliAuthorizationClientPlatform":{"type":"string","description":"Coarse operating-system family reported by the CLI","enum":["MACOS","LINUX","WINDOWS","OTHER"]},"AgentInstruction":{"type":"object","description":"Addressable identity of a versioned agent instruction document.","properties":{"kind":{"$ref":"#/components/schemas/AgentInstructionKind","description":"Document kind"},"name":{"type":"string","description":"Manifest name of the instruction document"},"version":{"type":"string","description":"Immutable content version (first 12 hex chars of the content sha256)"}},"required":["kind","name","version"]},"AgentInstructionPointer":{"type":"object","description":"One manifest entry: immutable version id and the full object key it resolves to.","properties":{"key":{"type":"string","description":"Object key under the agents/ prefix"},"version":{"type":"string","description":"Immutable content version (sha256-12)"}},"required":["key","version"]},"HelpCitation":{"type":"object","description":"A single corpus document the help answer is grounded in.","properties":{"excerpt":{"type":"string","description":"Verbatim excerpt from the cited document supporting the answer."},"sourceId":{"type":"string","description":"Stable id within the source type: an operationId, a skill/prompt name, a completion gate id, or a research detail type targetPath.","example":"createEntityText"},"sourceType":{"$ref":"#/components/schemas/HelpSourceType","description":"Which part of the platform corpus this citation comes from."},"sourceVersion":{"type":["string","null"],"description":"Immutable version of the cited document when one exists (skill/prompt content version); null for catalog-derived sources."}},"required":["excerpt","sourceId","sourceType"]},"HelpSourceType":{"type":"string","description":"Corpus partition a help citation is drawn from.","enum":["OPERATION","SKILL","PROMPT","COMPLETION_GATE","RESEARCH_DETAIL_TYPE"]},"HelpScope":{"type":"string","description":"Operation scope a help answer may recommend: read-only, write, or all.","enum":["READ","WRITE","ALL"]},"CurrentSlugOwner":{"type":"object","description":"Current slug owner","properties":{"deletedAt":{"type":["string","null"],"format":"date-time"},"id":{"type":"string"},"isHidden":{"type":"boolean"},"nameBrand":{"type":["string","null"]},"resourceType":{"$ref":"#/components/schemas/SlugResource"},"showOnSitemap":{"type":"boolean"},"slug":{"type":"string"}},"required":["id","isHidden","resourceType","showOnSitemap","slug"]},"DomainConflictDetails":{"description":"Polymorphic envelope for RFC 9457 ProblemDetail.details on HTTP 409 responses. The concrete variant depends on the conflict kind: URL ownership collisions return UrlDuplicateConflict; ambiguous strict URL lookups return StrictUrlLookupConflict; create-time duplicate review gates return DuplicateCreateReview; classification writes that touch an inactive tag bucket return ClassificationInactiveTagDetails; news publication+URL uniqueness violations return NewsSourceUrlConflict. Inspect ProblemDetail.code/type and the field set present on details to identify the variant.","oneOf":[{"$ref":"#/components/schemas/UrlDuplicateConflict"},{"$ref":"#/components/schemas/StrictUrlLookupConflict"},{"$ref":"#/components/schemas/DuplicateCreateReview"},{"$ref":"#/components/schemas/ClassificationInactiveTagDetails"},{"$ref":"#/components/schemas/NewsSourceUrlConflict"}]},"RedirectSlugPath":{"type":"object","description":"Redirect slug path","properties":{"newUrl":{"type":["string","null"]},"oldUrl":{"type":"string"},"targetCurrentSlug":{"type":["string","null"]},"targetId":{"type":["string","null"]},"targetResourceType":{"oneOf":[{"$ref":"#/components/schemas/SlugResource"},{"type":"null"}]}},"required":["oldUrl"]},"ProblemResolution":{"type":"object","description":"Machine-readable next action for an aVenture ProblemDetail. For reviewCandidates, inspect ProblemDetail.details candidates and decide update, create-with-override, or block from those returned records.","properties":{"acceptedValue":{"type":["array","null"],"description":"Accepted values for the field or parameter, when enumerable.","items":{"type":"string"}},"action":{"type":"string","description":"Next action category for the client or agent.","enum":["setField","setParameter","removeParameter","useEndpoint","reviewCandidates","authenticate"]},"endpoint":{"type":["string","null"],"description":"Endpoint to call for the next action, when applicable."},"fieldPath":{"type":["string","null"],"description":"Request-body field path that needs attention, when applicable."},"parameter":{"type":["string","null"],"description":"Query parameter that needs attention, when applicable."},"retryable":{"type":["boolean","null"],"description":"Whether the same logical request can be retried after the next action."}},"required":["action"]},"ProblemType":{"type":"string","format":"uri","description":"Known RFC 9457 error type URIs.","enum":["https://api.aventure.vc/errors/validation-failed","https://api.aventure.vc/errors/missing-parameter","https://api.aventure.vc/errors/invalid-parameter-type","https://api.aventure.vc/errors/unknown-parameter","https://api.aventure.vc/errors/invalid-argument","https://api.aventure.vc/errors/invalid-request","https://api.aventure.vc/errors/invalid-token","https://api.aventure.vc/errors/token-expired","https://api.aventure.vc/errors/invalid-authentication","https://api.aventure.vc/errors/client-closed-request","https://api.aventure.vc/errors/invalid-json","https://api.aventure.vc/errors/method-not-allowed","https://api.aventure.vc/errors/not-acceptable","https://api.aventure.vc/errors/unsupported-media-type","https://api.aventure.vc/errors/internal-error","https://api.aventure.vc/errors/unexpected-error","https://api.aventure.vc/errors/not-implemented","https://api.aventure.vc/errors/authentication-required","https://api.aventure.vc/errors/auth.admin-key-not-configured","https://api.aventure.vc/errors/auth.empty-admin-bearer","https://api.aventure.vc/errors/auth.invalid-admin-key","https://api.aventure.vc/errors/auth.missing-admin-key","https://api.aventure.vc/errors/access-denied","https://api.aventure.vc/errors/not-found","https://api.aventure.vc/errors/gone","https://api.aventure.vc/errors/rate-limited","https://api.aventure.vc/errors/precondition-failed","https://api.aventure.vc/errors/precondition-required","https://api.aventure.vc/errors/billing-allowance-exhausted","https://api.aventure.vc/errors/billing-additional-usage-cap-reached","https://api.aventure.vc/errors/subscription-required","https://api.aventure.vc/errors/service-unavailable","https://api.aventure.vc/errors/malformed-form-body","https://api.aventure.vc/errors/state-conflict","https://api.aventure.vc/errors/slug-held-by-record","https://api.aventure.vc/errors/slug-held-by-redirect","https://api.aventure.vc/errors/slug-ambiguous","https://api.aventure.vc/errors/target-ambiguous","https://api.aventure.vc/errors/duplicate","https://api.aventure.vc/errors/duplicate-key","https://api.aventure.vc/errors/integrity-violation","https://api.aventure.vc/errors/circuit-breaker-open","https://api.aventure.vc/errors/bulkhead-full","https://api.aventure.vc/errors/write-lane-busy","https://api.aventure.vc/errors/database-unavailable","https://api.aventure.vc/errors/database-error","https://api.aventure.vc/errors/file-too-large","https://api.aventure.vc/errors/missing-file-part","https://api.aventure.vc/errors/invalid-multipart-boundary","https://api.aventure.vc/errors/multipart-parse-error","https://api.aventure.vc/errors/non-english-article","https://api.aventure.vc/errors/invalid-image","https://api.aventure.vc/errors/upstream-edge-challenged","https://api.aventure.vc/errors/accelerator-detail-restates-target"],"x-enum-varnames":["VALIDATION_FAILED","MISSING_PARAMETER","INVALID_PARAMETER_TYPE","UNKNOWN_PARAMETER","INVALID_ARGUMENT","INVALID_REQUEST","INVALID_TOKEN","TOKEN_EXPIRED","INVALID_AUTHENTICATION","CLIENT_CLOSED_REQUEST","INVALID_JSON","METHOD_NOT_ALLOWED","NOT_ACCEPTABLE","UNSUPPORTED_MEDIA_TYPE","INTERNAL_ERROR","UNEXPECTED_ERROR","NOT_IMPLEMENTED","AUTHENTICATION_REQUIRED","AUTH_ADMIN_KEY_NOT_CONFIGURED","AUTH_EMPTY_ADMIN_BEARER","AUTH_INVALID_ADMIN_KEY","AUTH_MISSING_ADMIN_KEY","ACCESS_DENIED","NOT_FOUND","GONE","RATE_LIMITED","PRECONDITION_FAILED","PRECONDITION_REQUIRED","BILLING_ALLOWANCE_EXHAUSTED","BILLING_ADDITIONAL_USAGE_CAP_REACHED","SUBSCRIPTION_REQUIRED","SERVICE_UNAVAILABLE","MALFORMED_FORM_BODY","STATE_CONFLICT","SLUG_HELD_BY_RECORD","SLUG_HELD_BY_REDIRECT","SLUG_AMBIGUOUS","TARGET_AMBIGUOUS","DUPLICATE","DUPLICATE_KEY","INTEGRITY_VIOLATION","CIRCUIT_BREAKER_OPEN","BULKHEAD_FULL","WRITE_LANE_BUSY","DATABASE_UNAVAILABLE","DATABASE_ERROR","FILE_TOO_LARGE","MISSING_FILE_PART","INVALID_MULTIPART_BOUNDARY","MULTIPART_PARSE_ERROR","NON_ENGLISH_ARTICLE","INVALID_IMAGE","UPSTREAM_EDGE_CHALLENGED","ACCELERATOR_DETAIL_RESTATES_TARGET"]},"UrlDuplicateConflict":{"type":"object","description":"Typed extension on ProblemDetail.details for HTTP 409 when a create/update attempts to set a URL with urlType=website (or another exclusive urlType) that is already a current URL on a different entity or person. The existingJoin list names every current owner of the normalized URL; resolve by demoting the existing owner (isCurrent=false, isPrimary=false) before promoting the new owner.","properties":{"existingJoin":{"type":"array","description":"Every current owner that already holds the normalized URL with this urlType. Non-empty when this conflict is emitted.","items":{"$ref":"#/components/schemas/UrlDuplicateJoin"}},"fragmentIgnored":{"type":"boolean","description":"True when URL fragment differences were ignored during duplicate matching (i.e., the conflict ignores everything after \'#\')."},"guidance":{"type":"string","description":"Human-readable guidance on how to resolve the conflict. Defaults to the standard inspect-then-demote/promote sequence."},"normalizedUrl":{"type":["string","null"],"description":"Normalized URL match key used for duplicate detection. Null when normalization could not produce a stable key (e.g., malformed input)."},"requestedOwner":{"$ref":"#/components/schemas/EntityPersonOwner","description":"Owner the caller attempted to attach the URL to."},"url":{"type":"string","description":"Raw URL as submitted by the caller (pre-normalization)."},"urlType":{"type":"string","description":"URL type submitted by the caller (e.g., \'website\', \'twitter\'). The conflict applies only within this urlType."}},"required":["existingJoin","fragmentIgnored","guidance","requestedOwner","url","urlType"]},"StrictUrlLookupConflict":{"type":"object","description":"Typed extension on ProblemDetail.details for HTTP 409 when a strict URL lookup (GET /v1/entities/lookup-exact?url=...) resolves to more than one current owner. The candidate lists return every current owner that matches the normalized URL key; the caller must add disambiguating signals (urlType, typeRecord, slug) to resolve to a single owner.","properties":{"candidateEntityId":{"type":"array","description":"Every entity id that currently owns the normalized URL. May be empty when the conflict is between persons; combined with candidatePersonId always > 1.","items":{"type":"string","format":"uuid","description":"Canonical entity UUID"}},"candidatePersonId":{"type":"array","description":"Every person id that currently owns the normalized URL. May be empty when the conflict is between entities; combined with candidateEntityId always > 1.","items":{"type":"string","format":"uuid","description":"Canonical person UUID"}},"hint":{"type":"string","description":"Human-readable hint describing which disambiguating query parameters to add."},"normalizedUrl":{"type":["string","null"],"description":"Normalized URL match key the lookup resolved against. Null when normalization could not produce a stable key."},"url":{"type":"string","description":"Raw URL the caller queried."},"urlType":{"type":["string","null"],"description":"URL type the caller specified, or null if the lookup did not constrain by urlType."}},"required":["candidateEntityId","candidatePersonId","hint","url"]},"DuplicateCreateReview":{"type":"object","description":"Candidate-review conflict details returned in ProblemDetail.details for create gates and deterministic lookup ambiguity. The returned candidates are the decision surface: update the matching candidate, create with duplicate override only when every candidate is distinct from the source-backed target, or block when identity is unresolved. score and threshold rank review priority; they are not proof that the requested record is absent.","properties":{"candidate":{"type":["array","null"],"description":"Entity/person candidates returned by lookup or create duplicate review. If a candidate is the requested record, read/update that candidate by id. Create with duplicate override only after every candidate is reviewed as distinct.","items":{"$ref":"#/components/schemas/SearchDuplicateCandidateScore"}},"newsCandidate":{"type":["array","null"],"description":"News candidates returned by lookup or create duplicate review. If a candidate is the requested article, read/update that article by id. Otherwise block until source evidence proves a distinct article.","items":{"$ref":"#/components/schemas/NewsCandidateScore"}},"overridePath":{"type":["string","null"],"description":"Create endpoint to retry only after reviewing the returned candidates and supplying overrideGate=duplicate and overrideReason as query parameters. Null for detail lookup ambiguity, where the next action is review/update/block."},"threshold":{"type":"integer","format":"int32","description":"Review threshold used by duplicate scoring. Scores below this value can still be useful candidate context; this value does not prove absence or authorize create."}},"required":["threshold"]},"ClassificationInactiveTagDetails":{"type":"object","description":"ProblemDetail.details for HTTP 409 when a classification value exists but is inactive.","properties":{"availableOverrides":{"type":"array","description":"Allowed inactiveTagOverride values for this conflict","items":{"$ref":"#/components/schemas/EntityClassificationInactiveTagOverride"}},"slug":{"type":"string","description":"Existing dormant value slug or lookup key"},"tagId":{"type":"integer","format":"int32","description":"Existing tag id in res_type_ref"}},"required":["availableOverrides","slug","tagId"]},"NewsSourceUrlConflict":{"type":"object","description":"Typed extension on ProblemDetail.details for HTTP 409 when a news mutation\'s publication + newsUrlOriginal pair already belongs to another article. The returned fields identify the existing article so the caller can read/update it instead of creating a duplicate.","properties":{"conflictingArticleId":{"type":"integer","format":"int32","description":"Existing article id (NewsId.value) that already owns this publication + URL pair."},"conflictingArticleSlug":{"type":"string","description":"Existing article slug, or empty string when the existing article has no slug. Use with GET /v1/news/lookup?slug= to fetch the conflicting article."},"conflictingArticleTitle":{"type":"string","description":"Existing article title for human-readable diagnostics."}},"required":["conflictingArticleId","conflictingArticleSlug","conflictingArticleTitle"]},"EntityClassificationInactiveTagOverride":{"type":"string","description":"Caller-chosen handling when the canonical classification value exists but is dormant.","enum":["REACTIVATE","ATTACH_INACTIVE"]},"NewsCandidateScore":{"type":"object","description":"Duplicate candidate scoring result for news articles. Use id/slug/externalId/reason to decide whether the candidate is the requested article. score ranks review priority; it does not prove absence.","properties":{"externalId":{"type":["string","null"],"description":"Matched external article identifier when duplicate scoring used one."},"id":{"type":"integer","format":"int32","description":"News article id to read or update when this candidate is the requested article."},"reason":{"type":"array","description":"Match reasons for reviewing the candidate. Exact reasons are decision signals regardless of whether score crosses the review threshold.","items":{"type":"string"}},"score":{"type":"integer","format":"int32","description":"Ranking score for duplicate review. It is not an absence proof; a low score can still be the intended article when reason/slug/externalId match."},"slug":{"type":["string","null"],"description":"Candidate article slug from the existing record.","example":"aventure-vc","maxLength":255,"pattern":"^[a-z0-9_-]+$"}},"required":["id","reason","score"]},"UrlDuplicateJoin":{"type":"object","description":"URL ownership join row identifying which entity or person currently owns a normalized URL.","properties":{"owner":{"$ref":"#/components/schemas/EntityPersonOwner","description":"Owner of the URL: either entityId or personId is populated depending on the owner kind. Use the populated id to read or update the owner\'s URL."},"urlId":{"type":"integer","format":"int32","description":"Internal URL row id (res_weburl.id) — opaque to API clients."}},"required":["owner","urlId"]},"SystemBuildDetail":{"type":"object","description":"Application build metadata","properties":{"artifact":{"type":["string","null"],"description":"Artifact identifier","example":"back-end"},"group":{"type":["string","null"],"description":"Group identifier","example":"vc.aventure"},"name":{"type":["string","null"],"description":"Project name","example":"aVenture API"},"revision":{"type":["string","null"],"description":"Deployed Git commit revision","example":"0123456789abcdef"},"time":{"type":["string","null"],"format":"date-time","description":"Build timestamp"},"version":{"type":["string","null"],"description":"Project version","example":"0.6.2-SNAPSHOT"}}}},"headers":{"X-RateLimit-Limit":{"description":"Requests allowed per client IP in the current rate-limit window.","schema":{"type":"integer","format":"int32"}},"X-RateLimit-Remaining":{"description":"Requests left before the tightest applicable rate-limit bucket rejects.","schema":{"type":"integer","format":"int32"}},"X-RateLimit-Reset":{"description":"Seconds until the exhausted rate-limit bucket admits another request; 0 when none is exhausted.","schema":{"type":"integer","format":"int32"}},"Retry-After":{"description":"Seconds to wait before retrying a rate-limited (429) or temporarily unavailable (503) request.","schema":{"type":"integer","format":"int32"}}},"securitySchemes":{"bearerAuth":{"bearerFormat":"API key or OAuth access token","description":"Your aVenture API key (https://aventure.vc/settings/api-keys) or OAuth access token","scheme":"bearer","type":"http"},"clerkApiKeyAuth":{"bearerFormat":"API key","description":"Your aVenture API key (https://aventure.vc/settings/api-keys)","scheme":"bearer","type":"http"}}}')},go=[`get`,`post`,`put`,`patch`,`delete`],_o=[`oauth`,`start`,`poll`,`acknowledge`,`revoke`],vo=p({name:u().regex(/^[A-Z][A-Z0-9_]*$/u)}),yo=M([x(`private`),j({scope:u().optional(),value:u().optional()})]),bo=T(()=>j({$ref:u().optional(),description:u().optional(),type:M([u(),v(u())]).optional(),format:u().optional(),default:Dn.optional(),enum:v(Dn).optional(),readOnly:w().optional(),items:bo.optional(),minItems:g().int().nonnegative().optional(),maxItems:g().int().nonnegative().optional(),properties:N(u(),bo).optional(),required:v(u()).optional(),oneOf:v(bo).optional(),anyOf:v(bo).optional(),allOf:v(bo).optional(),"x-aventure-visibility":yo.optional(),"x-aventure-cli-conflicts":v(v(u().min(1)).min(2)).min(1).optional(),"x-aventure-env":vo.optional(),"x-aventure-detail":x(!0).optional()})),xo=j({in:u(),name:u(),required:w().optional(),description:u().optional(),schema:bo.optional(),"x-aventure-visibility":yo.optional(),"x-aventure-legacy-name":p({name:u().trim().min(1)}).optional()}).superRefine((e,t)=>{let n=e[`x-aventure-legacy-name`]?.name;n!==void 0&&(e.in!==`path`&&t.addIssue({code:`custom`,path:[`x-aventure-legacy-name`],message:`x-aventure-legacy-name is valid only for path parameters`}),n===e.name&&t.addIssue({code:`custom`,path:[`x-aventure-legacy-name`,`name`],message:`Legacy path parameter name must differ from its canonical name`}))}),So=N(u(),j({schema:bo.optional()})),Co=j({description:u().optional(),content:So.optional(),"x-aventure-standard-response":w().optional()}),wo=j({description:u().optional(),required:w().optional(),content:So.optional()}),To=p({auth:_([`none`,`read`]).optional()}).optional(),Eo=M([x(``),u().regex(/^(?:\/(?:[^~/]|~[01])*)+$/)]),Do=p({readOperationId:u().min(1),writePointer:Eo,readPointer:Eo}),Oo=u().trim().regex(/^[a-z0-9]+(?:-[a-z0-9]+)* [a-z0-9]+(?:-[a-z0-9]+)*$/u),ko=u().regex(/^[a-z][A-Za-z0-9]*$/u),Ao=u().regex(/^--(?:no-)?[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u),jo=p({command:Oo,role:_(_o),summary:u().trim().min(1).optional(),description:u().trim().min(1).optional(),bodyOption:v(ko).min(1).optional(),localOption:v(p({optionKey:ko,flag:Ao,description:u().trim().min(1)})).min(1).optional()}).superRefine((e,t)=>{let n=[e.bodyOption??[],(e.localOption??[]).map(e=>e.optionKey),(e.localOption??[]).map(e=>e.flag)].some(e=>new Set(e).size!==e.length),r=(e.localOption??[]).some(e=>new J(e.flag).attributeName()!==e.optionKey);(n||r)&&t.addIssue({code:`custom`,message:`Composite CLI options must be unique and match their local flags`})}).optional(),Mo=j({operationId:u(),summary:u().optional(),description:u().optional(),tags:v(u()).optional(),deprecated:w().optional(),hidden:w().optional(),security:v(N(u(),v(u()))).optional(),parameters:v(xo).optional(),requestBody:wo.optional(),responses:N(u(),Co),"x-aventure-visibility":yo.optional(),"x-aventure-tool":To,"x-aventure-mutation-readback":Do.optional(),"x-aventure-cli-composite":jo}).superRefine((e,t)=>{let n=e.parameters??[];for(let[e,r]of n.entries()){let i=r[`x-aventure-legacy-name`]?.name;r.in===`path`&&i!==void 0&&n.some((t,n)=>n!==e&&t.in===`path`&&(t.name===i||t[`x-aventure-legacy-name`]?.name===i))&&t.addIssue({code:`custom`,path:[`parameters`,e,`x-aventure-legacy-name`,`name`],message:`Legacy path parameter name '${i}' collides with another declared path parameter`})}}),No=j(Object.fromEntries(go.map(e=>[e,Mo.optional()]))),Po=j({$ref:u().optional(),description:u().optional(),type:M([u(),v(u())]).optional(),format:u().optional(),default:Dn.optional(),enum:v(Dn).optional(),readOnly:w().optional(),items:bo.optional(),minItems:g().int().nonnegative().optional(),maxItems:g().int().nonnegative().optional(),oneOf:v(bo).optional(),anyOf:v(bo).optional(),allOf:v(bo).optional(),properties:N(u(),bo).optional(),required:v(u()).optional(),"x-aventure-visibility":yo.optional(),"x-aventure-cli-conflicts":v(v(u().min(1)).min(2)).min(1).optional(),"x-aventure-env":vo.optional(),"x-aventure-detail":x(!0).optional()}),Fo=j({tags:v(j({name:u(),description:u().optional()})).optional(),paths:N(u(),No),components:j({schemas:N(u(),Po)})}).superRefine((e,t)=>{for(let[n,r]of Object.entries(e.paths))for(let i of go){let a=r[i]?.[`x-aventure-mutation-readback`];a!==void 0&&Lo(e.paths,a.readOperationId)===null&&t.addIssue({code:`custom`,path:[`paths`,n,i,`x-aventure-mutation-readback`,`readOperationId`],message:`mutation readback names '${a.readOperationId}', which no operation in this document emits`})}}),Io=new Set([`page`,`size`,`sort`]);function Lo(e,t){for(let[n,r]of Object.entries(e))for(let e of go){let i=r[e];if(i?.operationId===t)return{method:e,template:n,operation:i}}return null}function Ro(e,t,n){let r=Vo(n),i=e[r]?.[t];if(i)return{method:t,template:r,operation:i};for(let[n,i]of Object.entries(e)){let e=i[t];if(e&&Uo(n,r))return{method:t,template:n,operation:e}}return null}function zo(e,t,n=e){return e.replace(/\{([^}]+)}/g,(...e)=>{let r=e[1],i=t[r];if(i==null)throw Error(`Missing path parameter '${r}' for ${n}`);return encodeURIComponent(String(i))})}function Bo(e,t,n){let r=t;for(let i of e.parameters??[]){let e=i[`x-aventure-legacy-name`]?.name;if(i.in===`path`&&e!==void 0&&Object.hasOwn(t,e)){if(Object.hasOwn(t,i.name))throw Error(`Path parameters '${i.name}' and legacy alias '${e}' were both supplied for ${n}`);r===t&&(r={...t}),r[i.name]=t[e],delete r[e]}}return r}function Vo(e){return new URL(e,`https://placeholder.invalid`).pathname}function Ho(e,t){let n={};for(let r of e.parameters??[]){if(r.in!==`query`||Io.has(r.name))continue;let e=t?.[r.name]??Ko(r.schema?.default);e!==void 0&&(n[r.name]=e)}return Object.keys(n).length===0?void 0:n}function Uo(e,t){let n=e.split(`/`).filter(Boolean),r=t.split(`/`).filter(Boolean);return n.length!==r.length||r.some(Go)?!1:n.every((e,t)=>Wo(e)||e===r[t])}function Wo(e){let t=e.slice(1,-1);return e.startsWith(`{`)&&e.endsWith(`}`)&&t.length>0&&!t.includes(`/`)&&!t.includes(`{`)&&!t.includes(`}`)}function Go(e){if(Wo(e))return!0;let t=e.toLowerCase(),n=e.slice(3,-3);return t.startsWith(`%7b`)&&t.endsWith(`%7d`)&&n.length>0&&!n.includes(`/`)&&!n.includes(`%`)&&!n.includes(`{`)&&!n.includes(`}`)}function Ko(e){if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`||Array.isArray(e)&&e.every(e=>typeof e==`string`||typeof e==`number`||typeof e==`boolean`))return e}var qo=/(?:authorization|api-key|secret|token)/iu,Jo=/^x-cli-[a-z0-9-]*secret$/iu;function Yo(e,t,n={}){let r=es(n);if(r.length>0&&(t=Xo(t,r)),typeof t!=`object`||!t)return{status:e,title:`HTTP ${e}`,type:`about:blank`,code:void 0,detail:typeof t==`string`?t:void 0};let i=Zo(t),a=typeof i.status==`number`?i.status:e;return{...i,status:a,title:typeof i.title==`string`?i.title:`HTTP ${a}`,type:typeof i.type==`string`?i.type:`about:blank`,detail:typeof i.detail==`string`?i.detail:void 0}}function Xo(e,t){return typeof e==`string`?ts(e,t):typeof e!=`object`||!e?e:Array.isArray(e)?e.map(e=>Xo(e,t)):Object.fromEntries(Object.entries(e).map(([e,n])=>[ts(e,t),Xo(n,t)]))}function Zo(e){let t=Hn.safeParse(e);if(t.success)return e;let n=new Set(t.error.issues.map(e=>String(e.path[0])));return Object.fromEntries(Object.entries(e).filter(([e])=>!n.has(e)))}function Qo(e,t){if($o(t))return{status:e.status,title:`CLI authorization broker request failed`};let n=es(t),r={};for(let[t,i]of Object.entries(e))i!=null&&(r[t]=typeof i==`object`?JSON.stringify(Xo(i,n)):typeof i==`string`?ts(i,n):i);return r}function $o(e){return Object.keys(e).some(e=>Jo.test(e))}function es(e){let t=[];for(let[n,r]of Object.entries(e)){if(!qo.test(n))continue;let e=r.trim();if(e.length===0)continue;t.push(e);let i=e.indexOf(` `);if(i>0){let n=e.slice(i+1).trim();n.length>0&&t.push(n)}}return t}function ts(e,t){let n=e;for(let e of t)e!=null&&e.length>0&&(n=n.replaceAll(e,`<redacted>`));return n}function ns(e,t){if($o(t))return{status:e.status,title:`CLI authorization broker request failed`,type:`about:blank`,detail:`Broker diagnostic text was suppressed at the CLI credential boundary.`,...is(e)};let n=es(t);if(n.length===0)return e;let r=t=>{let r=e[t];return typeof r==`string`?{[t]:ts(r,n)}:{}},i=t=>{let r=e[t];return r==null?{}:{[t]:Object.fromEntries(Object.entries(r).map(([e,t])=>[ts(e,n),ts(t,n)]))}},a=t=>{let r=e[t];return Array.isArray(r)?{[t]:r.map(e=>ts(e,n))}:{}};return{status:e.status,title:ts(e.title,n),type:ts(e.type,n),...r(`detail`),...r(`hint`),...r(`field`),...r(`suggestion`),...r(`requiredRole`),...i(`suggestions`),...i(`error`),...a(`unknownParameters`),...a(`validParameters`),...e.details===void 0?{}:{details:e.details},...e.resolution===void 0?{}:{resolution:e.resolution},...e.code===void 0?{}:{code:e.code},...e.limitType===void 0?{}:{limitType:e.limitType},...e.allowanceType===void 0?{}:{allowanceType:e.allowanceType},...e.limit===void 0?{}:{limit:e.limit},...e.used===void 0?{}:{used:e.used},...e.remaining===void 0?{}:{remaining:e.remaining},...e.resetAt===void 0?{}:{resetAt:e.resetAt},...e.windowSeconds===void 0?{}:{windowSeconds:e.windowSeconds},...is(e)}}function rs(e,t){if(as(e.retryAfterSeconds)!==void 0)return e;let n=as(Number(t.get(`retry-after`)));return n===void 0?e:{...e,retryAfterSeconds:n}}function is(e){let t=as(e.retryAfterSeconds);return t===void 0?{}:{retryAfterSeconds:t}}function as(e){return typeof e==`number`&&Number.isInteger(e)&&e>0?e:void 0}var Z=t(((e,t)=>{t.exports={kClose:Symbol(`close`),kDestroy:Symbol(`destroy`),kDispatch:Symbol(`dispatch`),kUrl:Symbol(`url`),kRequestOrigin:Symbol(`request origin`),kOriginless:Symbol(`originless`),kWriting:Symbol(`writing`),kResuming:Symbol(`resuming`),kQueue:Symbol(`queue`),kConnect:Symbol(`connect`),kConnecting:Symbol(`connecting`),kKeepAliveDefaultTimeout:Symbol(`default keep alive timeout`),kKeepAliveMaxTimeout:Symbol(`max keep alive timeout`),kKeepAliveTimeoutThreshold:Symbol(`keep alive timeout threshold`),kKeepAliveTimeoutValue:Symbol(`keep alive timeout`),kKeepAlive:Symbol(`keep alive`),kHeadersTimeout:Symbol(`headers timeout`),kBodyTimeout:Symbol(`body timeout`),kServerName:Symbol(`server name`),kLocalAddress:Symbol(`local address`),kHost:Symbol(`host`),kNoRef:Symbol(`no ref`),kBodyUsed:Symbol(`used`),kBody:Symbol(`abstracted request body`),kRunning:Symbol(`running`),kBlocking:Symbol(`blocking`),kPending:Symbol(`pending`),kSize:Symbol(`size`),kBusy:Symbol(`busy`),kQueued:Symbol(`queued`),kFree:Symbol(`free`),kConnected:Symbol(`connected`),kClosed:Symbol(`closed`),kNeedDrain:Symbol(`need drain`),kReset:Symbol(`reset`),kDestroyed:Symbol.for(`nodejs.stream.destroyed`),kResume:Symbol(`resume`),kOnError:Symbol(`on error`),kMaxHeadersSize:Symbol(`max headers size`),kRunningIdx:Symbol(`running index`),kPendingIdx:Symbol(`pending index`),kError:Symbol(`error`),kClients:Symbol(`clients`),kClient:Symbol(`client`),kParser:Symbol(`parser`),kOnDestroyed:Symbol(`destroy callbacks`),kPipelining:Symbol(`pipelining`),kSocket:Symbol(`socket`),kHostHeader:Symbol(`host header`),kConnector:Symbol(`connector`),kStrictContentLength:Symbol(`strict content length`),kMaxRedirections:Symbol(`maxRedirections`),kMaxRequests:Symbol(`maxRequestsPerClient`),kProxy:Symbol(`proxy agent options`),kCounter:Symbol(`socket request counter`),kMaxResponseSize:Symbol(`max response size`),kHTTP2Session:Symbol(`http2Session`),kHTTP2Options:Symbol(`http2 options`),kHTTP2SessionState:Symbol(`http2Session state`),kRetryHandlerDefaultRetry:Symbol(`retry agent default retry`),kConstruct:Symbol(`constructable`),kListeners:Symbol(`listeners`),kHTTPContext:Symbol(`http context`),kMaxConcurrentStreams:Symbol(`max concurrent streams`),kHostAuthority:Symbol(`host authority`),kHTTP2InitialWindowSize:Symbol(`http2 initial window size`),kHTTP2ConnectionWindowSize:Symbol(`http2 connection window size`),kEnableConnectProtocol:Symbol(`http2session connect protocol`),kRemoteSettings:Symbol(`http2session remote settings`),kHTTP2Stream:Symbol(`http2session client stream`),kPingInterval:Symbol(`ping interval`),kNoProxyAgent:Symbol(`no proxy agent`),kHttpProxyAgent:Symbol(`http proxy agent`),kHttpsProxyAgent:Symbol(`https proxy agent`),kSocks5ProxyAgent:Symbol(`socks5 proxy agent`)}})),os=t(((e,t)=>{var n=0,r=1e3,i,a=Symbol(`kFastTimer`),o=[],s=-2,c=-1,l=0,u=1;function d(){n+=499;let e=0,t=o.length;for(;e<t;){let r=o[e];r._state===l?(r._idleStart=n-499,r._state=u):r._state===u&&n>=r._idleStart+r._idleTimeout&&(r._state=c,r._idleStart=-1,r._onTimeout(r._timerArg)),r._state===c?(r._state=s,--t!==0&&(o[e]=o[t])):++e}o.length=t,o.length!==0&&f()}function f(){i?.refresh?i.refresh():(clearTimeout(i),i=setTimeout(d,499),i?.unref())}var p=class{[a]=!0;_state=s;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,t,n){this._onTimeout=e,this._idleTimeout=t,this._timerArg=n,this.refresh()}refresh(){this._state===s&&o.push(this),(!i||o.length===1)&&f(),this._state=l}clear(){this._state=c,this._idleStart=-1}};t.exports={setTimeout(e,t,n){return t<=r?setTimeout(e,t,n):new p(e,t,n)},clearTimeout(e){e[a]?e.clear():clearTimeout(e)},setFastTimeout(e,t,n){return new p(e,t,n)},clearFastTimeout(e){e.clear()},now(){return n},tick(e=0){n+=e-r+1,d(),d()},reset(){n=0,o.length=0,clearTimeout(i),i=null},kFastTimer:a}})),Q=t(((e,t)=>{var n=Symbol.for(`undici.error.UND_ERR`),r=class extends Error{constructor(e,t){super(e,t),this.name=`UndiciError`,this.code=`UND_ERR`}static[Symbol.hasInstance](e){return e&&e[n]===!0}get[n](){return!0}},i=Symbol.for(`undici.error.UND_ERR_CONNECT_TIMEOUT`),a=class extends r{constructor(e){super(e),this.name=`ConnectTimeoutError`,this.message=e||`Connect Timeout Error`,this.code=`UND_ERR_CONNECT_TIMEOUT`}static[Symbol.hasInstance](e){return e&&e[i]===!0}get[i](){return!0}},o=Symbol.for(`undici.error.UND_ERR_HEADERS_TIMEOUT`),s=class extends r{constructor(e){super(e),this.name=`HeadersTimeoutError`,this.message=e||`Headers Timeout Error`,this.code=`UND_ERR_HEADERS_TIMEOUT`}static[Symbol.hasInstance](e){return e&&e[o]===!0}get[o](){return!0}},c=Symbol.for(`undici.error.UND_ERR_HEADERS_OVERFLOW`),l=class extends r{constructor(e){super(e),this.name=`HeadersOverflowError`,this.message=e||`Headers Overflow Error`,this.code=`UND_ERR_HEADERS_OVERFLOW`}static[Symbol.hasInstance](e){return e&&e[c]===!0}get[c](){return!0}},u=Symbol.for(`undici.error.UND_ERR_BODY_TIMEOUT`),d=class extends r{constructor(e){super(e),this.name=`BodyTimeoutError`,this.message=e||`Body Timeout Error`,this.code=`UND_ERR_BODY_TIMEOUT`}static[Symbol.hasInstance](e){return e&&e[u]===!0}get[u](){return!0}},f=Symbol.for(`undici.error.UND_ERR_INVALID_ARG`),p=class extends r{constructor(e){super(e),this.name=`InvalidArgumentError`,this.message=e||`Invalid Argument Error`,this.code=`UND_ERR_INVALID_ARG`}static[Symbol.hasInstance](e){return e&&e[f]===!0}get[f](){return!0}},m=Symbol.for(`undici.error.UND_ERR_INVALID_RETURN_VALUE`),h=class extends r{constructor(e){super(e),this.name=`InvalidReturnValueError`,this.message=e||`Invalid Return Value Error`,this.code=`UND_ERR_INVALID_RETURN_VALUE`}static[Symbol.hasInstance](e){return e&&e[m]===!0}get[m](){return!0}},g=Symbol.for(`undici.error.UND_ERR_ABORT`),_=class extends r{constructor(e){super(e),this.name=`AbortError`,this.message=e||`The operation was aborted`,this.code=`UND_ERR_ABORT`}static[Symbol.hasInstance](e){return e&&e[g]===!0}get[g](){return!0}},v=Symbol.for(`undici.error.UND_ERR_ABORTED`),y=class extends _{constructor(e){super(e),this.name=`AbortError`,this.message=e||`Request aborted`,this.code=`UND_ERR_ABORTED`}static[Symbol.hasInstance](e){return e&&e[v]===!0}get[v](){return!0}},b=Symbol.for(`undici.error.UND_ERR_INFO`),x=class extends r{constructor(e,t){super(e,t),this.name=`InformationalError`,this.message=e||`Request information`,this.code=`UND_ERR_INFO`}static[Symbol.hasInstance](e){return e&&e[b]===!0}get[b](){return!0}},S=Symbol.for(`undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH`),C=class extends r{constructor(e){super(e),this.name=`RequestContentLengthMismatchError`,this.message=e||`Request body length does not match content-length header`,this.code=`UND_ERR_REQ_CONTENT_LENGTH_MISMATCH`}static[Symbol.hasInstance](e){return e&&e[S]===!0}get[S](){return!0}},w=Symbol.for(`undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH`),T=class extends r{constructor(e){super(e),this.name=`ResponseContentLengthMismatchError`,this.message=e||`Response body length does not match content-length header`,this.code=`UND_ERR_RES_CONTENT_LENGTH_MISMATCH`}static[Symbol.hasInstance](e){return e&&e[w]===!0}get[w](){return!0}},E=Symbol.for(`undici.error.UND_ERR_DESTROYED`),D=class extends r{constructor(e){super(e),this.name=`ClientDestroyedError`,this.message=e||`The client is destroyed`,this.code=`UND_ERR_DESTROYED`}static[Symbol.hasInstance](e){return e&&e[E]===!0}get[E](){return!0}},O=Symbol.for(`undici.error.UND_ERR_CLOSED`),k=class extends r{constructor(e){super(e),this.name=`ClientClosedError`,this.message=e||`The client is closed`,this.code=`UND_ERR_CLOSED`}static[Symbol.hasInstance](e){return e&&e[O]===!0}get[O](){return!0}},A=Symbol.for(`undici.error.UND_ERR_SOCKET`),j=class extends r{constructor(e,t){super(e),this.name=`SocketError`,this.message=e||`Socket error`,this.code=`UND_ERR_SOCKET`,this.socket=t}static[Symbol.hasInstance](e){return e&&e[A]===!0}get[A](){return!0}},M=Symbol.for(`undici.error.UND_ERR_NOT_SUPPORTED`),N=class extends r{constructor(e){super(e),this.name=`NotSupportedError`,this.message=e||`Not supported error`,this.code=`UND_ERR_NOT_SUPPORTED`}static[Symbol.hasInstance](e){return e&&e[M]===!0}get[M](){return!0}},P=Symbol.for(`undici.error.UND_ERR_BPL_MISSING_UPSTREAM`),F=class extends r{constructor(e){super(e),this.name=`MissingUpstreamError`,this.message=e||`No upstream has been added to the BalancedPool`,this.code=`UND_ERR_BPL_MISSING_UPSTREAM`}static[Symbol.hasInstance](e){return e&&e[P]===!0}get[P](){return!0}},I=Symbol.for(`undici.error.UND_ERR_HTTP_PARSER`),L=class extends Error{constructor(e,t,n){super(e),this.name=`HTTPParserError`,this.code=t?`HPE_${t}`:void 0,this.data=n?n.toString():void 0}static[Symbol.hasInstance](e){return e&&e[I]===!0}get[I](){return!0}},R=Symbol.for(`undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE`),z=class extends r{constructor(e){super(e),this.name=`ResponseExceededMaxSizeError`,this.message=e||`Response content exceeded max size`,this.code=`UND_ERR_RES_EXCEEDED_MAX_SIZE`}static[Symbol.hasInstance](e){return e&&e[R]===!0}get[R](){return!0}},B=Symbol.for(`undici.error.UND_ERR_REQ_RETRY`),V=class extends r{constructor(e,t,{headers:n,data:r}){super(e),this.name=`RequestRetryError`,this.message=e||`Request retry error`,this.code=`UND_ERR_REQ_RETRY`,this.statusCode=t,this.data=r,this.headers=n}static[Symbol.hasInstance](e){return e&&e[B]===!0}get[B](){return!0}},ee=Symbol.for(`undici.error.UND_ERR_RESPONSE`),H=class extends r{constructor(e,t,{headers:n,body:r}){super(e),this.name=`ResponseError`,this.message=e||`Response error`,this.code=`UND_ERR_RESPONSE`,this.statusCode=t,this.body=r,this.headers=n}static[Symbol.hasInstance](e){return e&&e[ee]===!0}get[ee](){return!0}},te=Symbol.for(`undici.error.UND_ERR_PRX_TLS`),U=class extends r{constructor(e,t,n={}){super(t,{cause:e,...n}),this.name=`SecureProxyConnectionError`,this.message=t||`Secure Proxy Connection failed`,this.code=`UND_ERR_PRX_TLS`,this.cause=e}static[Symbol.hasInstance](e){return e&&e[te]===!0}get[te](){return!0}},ne=Symbol.for(`undici.error.UND_ERR_PRX_CONN`),W=class extends r{constructor(e,t,n={}){super(t,{cause:e,...n}),this.name=`ProxyConnectionError`,this.message=t||`Proxy Connection failed`,this.code=`UND_ERR_PRX_CONN`,this.cause=e}static[Symbol.hasInstance](e){return e&&e[ne]===!0}get[ne](){return!0}},G=Symbol.for(`undici.error.UND_ERR_MAX_ORIGINS_REACHED`),re=class extends r{constructor(e){super(e),this.name=`MaxOriginsReachedError`,this.message=e||`Maximum allowed origins reached`,this.code=`UND_ERR_MAX_ORIGINS_REACHED`}static[Symbol.hasInstance](e){return e&&e[G]===!0}get[G](){return!0}},K=class extends r{constructor(e,t){super(e),this.name=`Socks5ProxyError`,this.message=e||`SOCKS5 proxy error`,this.code=t||`UND_ERR_SOCKS5`}},ie=Symbol.for(`undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED`);t.exports={AbortError:_,HTTPParserError:L,UndiciError:r,HeadersTimeoutError:s,HeadersOverflowError:l,BodyTimeoutError:d,RequestContentLengthMismatchError:C,ConnectTimeoutError:a,InvalidArgumentError:p,InvalidReturnValueError:h,RequestAbortedError:y,ClientDestroyedError:D,ClientClosedError:k,InformationalError:x,SocketError:j,NotSupportedError:N,ResponseContentLengthMismatchError:T,BalancedPoolMissingUpstreamError:F,ResponseExceededMaxSizeError:z,RequestRetryError:V,ResponseError:H,SecureProxyConnectionError:U,ProxyConnectionError:W,MaxOriginsReachedError:re,Socks5ProxyError:K,MessageSizeExceededError:class extends r{constructor(e){super(e),this.name=`MessageSizeExceededError`,this.message=e||`Max decompressed message size exceeded`,this.code=`UND_ERR_WS_MESSAGE_SIZE_EXCEEDED`}static[Symbol.hasInstance](e){return e&&e[ie]===!0}get[ie](){return!0}}}})),ss=t(((e,t)=>{var n=`Accept.Accept-Encoding.Accept-Language.Accept-Ranges.Access-Control-Allow-Credentials.Access-Control-Allow-Headers.Access-Control-Allow-Methods.Access-Control-Allow-Origin.Access-Control-Expose-Headers.Access-Control-Max-Age.Access-Control-Request-Headers.Access-Control-Request-Method.Age.Allow.Alt-Svc.Alt-Used.Authorization.Cache-Control.Clear-Site-Data.Connection.Content-Disposition.Content-Encoding.Content-Language.Content-Length.Content-Location.Content-Range.Content-Security-Policy.Content-Security-Policy-Report-Only.Content-Type.Cookie.Cross-Origin-Embedder-Policy.Cross-Origin-Opener-Policy.Cross-Origin-Resource-Policy.Date.Device-Memory.Downlink.ECT.ETag.Expect.Expect-CT.Expires.Forwarded.From.Host.If-Match.If-Modified-Since.If-None-Match.If-Range.If-Unmodified-Since.Keep-Alive.Last-Modified.Link.Location.Max-Forwards.Origin.Permissions-Policy.Pragma.Proxy-Authenticate.Proxy-Authorization.RTT.Range.Referer.Referrer-Policy.Refresh.Retry-After.Sec-WebSocket-Accept.Sec-WebSocket-Extensions.Sec-WebSocket-Key.Sec-WebSocket-Protocol.Sec-WebSocket-Version.Server.Server-Timing.Service-Worker-Allowed.Service-Worker-Navigation-Preload.Set-Cookie.SourceMap.Strict-Transport-Security.Supports-Loading-Mode.TE.Timing-Allow-Origin.Trailer.Transfer-Encoding.Upgrade.Upgrade-Insecure-Requests.User-Agent.Vary.Via.WWW-Authenticate.X-Content-Type-Options.X-DNS-Prefetch-Control.X-Frame-Options.X-Permitted-Cross-Domain-Policies.X-Powered-By.X-Requested-With.X-XSS-Protection`.split(`.`),r={};Object.setPrototypeOf(r,null);for(let e=0;e<n.length;++e){let t=n[e],i=t.toLowerCase();r[t]=r[i]=i}t.exports={wellknownHeaderNames:n,headerNameLowerCasedRecord:r}})),cs=t(((e,t)=>{var{wellknownHeaderNames:n,headerNameLowerCasedRecord:r}=ss(),i=class e{value=null;left=null;middle=null;right=null;code;constructor(t,n,r){if(r===void 0||r>=t.length)throw TypeError(`Unreachable`);if((this.code=t.charCodeAt(r))>127)throw TypeError(`key must be ascii string`);t.length===++r?this.value=n:this.middle=new e(t,n,r)}add(t,n){let r=t.length;if(r===0)throw TypeError(`Unreachable`);let i=0,a=this;for(;;){let o=t.charCodeAt(i);if(o>127)throw TypeError(`key must be ascii string`);if(a.code===o){if(r===++i){a.value=n;break}if(a.middle!==null)a=a.middle;else{a.middle=new e(t,n,i);break}}else if(a.code<o){if(a.left!==null)a=a.left;else{a.left=new e(t,n,i);break}}else if(a.right!==null)a=a.right;else{a.right=new e(t,n,i);break}}}search(e){let t=e.length,n=0,r=this;for(;r!==null&&n<t;){let i=e[n];for(i<=90&&i>=65&&(i|=32);r!==null;){if(i===r.code){if(t===++n)return r;r=r.middle;break}r=r.code<i?r.left:r.right}}return null}},a=class{node=null;insert(e,t){this.node===null?this.node=new i(e,t,0):this.node.add(e,t)}lookup(e){return this.node?.search(e)?.value??null}},o=new a;for(let e=0;e<n.length;++e){let t=r[n[e]];o.insert(t,t)}t.exports={TernarySearchTree:a,tree:o}})),$=t(((t,n)=>{var r=e(`node:assert`),{kDestroyed:i,kBodyUsed:a,kListeners:o,kBody:s}=Z(),{IncomingMessage:c}=e(`node:http`),l=e(`node:stream`),u=e(`node:net`),{stringify:d}=e(`node:querystring`),{EventEmitter:f,addAbortListener:p}=e(`node:events`),m=os(),{InvalidArgumentError:h,ConnectTimeoutError:g}=Q(),{headerNameLowerCasedRecord:_}=ss(),{tree:v}=cs(),y=class{constructor(e){this[s]=e,this[a]=!1}async*[Symbol.asyncIterator](){r(!this[a],`disturbed`),this[a]=!0,yield*this[s]}};function b(){}function x(e){return S(e)?(I(e)===0&&e.on(`data`,function(){r(!1)}),typeof e.readableDidRead!=`boolean`&&(e[a]=!1,f.prototype.on.call(e,`data`,function(){this[a]=!0})),e):e&&typeof e.pipeTo==`function`?new y(e):e&&ae(e)?e:e&&typeof e!=`string`&&!ArrayBuffer.isView(e)&&P(e)?new y(e):e}function S(e){return e&&typeof e==`object`&&typeof e.pipe==`function`&&typeof e.on==`function`}function C(e){return e instanceof Blob}function w(e){return e.includes(`?`)||e.includes(`#`)}function T(e,t){if(w(e))throw Error(`Query params cannot be passed when url already contains "?" or "#".`);let n=d(t);return n&&(e+=`?`+n),e}function E(e){let t=parseInt(e,10);return t===Number(e)&&t>=0&&t<=65535}function D(e){return e!=null&&e[0]===`h`&&e[1]===`t`&&e[2]===`t`&&e[3]===`p`&&(e[4]===`:`||e[4]===`s`&&e[5]===`:`)}function O(e){if(typeof e==`string`){if(e=new URL(e),!D(e.origin||e.protocol))throw new h("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}if(!e||typeof e!=`object`)throw new h(`Invalid URL: The URL argument must be a non-null object.`);if(!(e instanceof URL)){if(e.port!=null&&e.port!==``&&E(e.port)===!1)throw new h(`Invalid URL: port must be a valid integer or a string representation of an integer.`);if(e.path!=null&&typeof e.path!=`string`)throw new h(`Invalid URL path: the path must be a string or null/undefined.`);if(e.pathname!=null&&typeof e.pathname!=`string`)throw new h(`Invalid URL pathname: the pathname must be a string or null/undefined.`);if(e.hostname!=null&&typeof e.hostname!=`string`)throw new h(`Invalid URL hostname: the hostname must be a string or null/undefined.`);if(e.origin!=null&&typeof e.origin!=`string`)throw new h(`Invalid URL origin: the origin must be a string or null/undefined.`);if(!D(e.origin||e.protocol))throw new h("Invalid URL protocol: the URL must start with `http:` or `https:`.");let t=e.port==null?e.protocol===`https:`?443:80:e.port,n=e.origin==null?`${e.protocol||``}//${e.hostname||``}:${t}`:e.origin,r=e.path==null?`${e.pathname||``}${e.search||``}`:e.path;return n[n.length-1]===`/`&&(n=n.slice(0,n.length-1)),r&&r[0]!==`/`&&(r=`/${r}`),new URL(`${n}${r}`)}if(!D(e.origin||e.protocol))throw new h("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}function k(e){if(e=O(e),e.pathname!==`/`||e.search||e.hash)throw new h(`invalid url`);return e}function A(e){if(e[0]===`[`){let t=e.indexOf(`]`);return r(t!==-1),e.substring(1,t)}let t=e.indexOf(`:`);return t===-1?e:e.substring(0,t)}function j(e){if(!e)return null;r(typeof e==`string`);let t=A(e);return u.isIP(t)?``:t}function M(e){return JSON.parse(JSON.stringify(e))}function N(e){return e!=null&&typeof e[Symbol.asyncIterator]==`function`}function P(e){return!(e==null||typeof e[Symbol.iterator]!=`function`&&typeof e[Symbol.asyncIterator]!=`function`)}function F(e){let t=Object.getPrototypeOf(e);return Object.hasOwn(e,Symbol.iterator)||t!=null&&t!==Object.prototype&&typeof e[Symbol.iterator]==`function`}function I(e){if(e==null)return 0;if(S(e)){let t=e._readableState;return t&&t.objectMode===!1&&t.ended===!0&&Number.isFinite(t.length)?t.length:null}return C(e)?e.size==null?null:e.size:W(e)?e.byteLength:null}function L(e){return e&&!!(e.destroyed||e[i]||l.isDestroyed?.(e))}function R(e,t){if(e!=null&&S(e)&&!L(e)){if(typeof e.destroy==`function`){Object.getPrototypeOf(e).constructor===c&&(e.socket=null);try{e.destroy(t)}catch{}}else t&&queueMicrotask(()=>{e.emit(`error`,t)});e.destroyed!==!0&&(e[i]=!0)}}var z=/timeout=(\d+)/;function B(e){let t=e.match(z);return t?parseInt(t[1],10)*1e3:null}function V(e){return typeof e==`string`?_[e]??e.toLowerCase():v.lookup(e)??e.toString(`latin1`).toLowerCase()}function ee(e){return v.lookup(e)??e.toString(`latin1`).toLowerCase()}function H(e,t){t===void 0&&(t={});for(let n=0;n<e.length;n+=2){let r=V(e[n]),i=t[r];if(i!==void 0){if(Object.hasOwn(t,r))typeof i==`string`&&(i=[i],t[r]=i),i.push(e[n+1].toString(`latin1`));else{let i=typeof e[n+1]==`string`?e[n+1]:Array.isArray(e[n+1])?e[n+1].map(e=>e.toString(`latin1`)):e[n+1].toString(`latin1`);r===`__proto__`?Object.defineProperty(t,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[r]=i}}else{let i=typeof e[n+1]==`string`?e[n+1]:Array.isArray(e[n+1])?e[n+1].map(e=>e.toString(`latin1`)):e[n+1].toString(`latin1`);t[r]=i}}return t}function te(e){if(e==null)return[];if(!Array.isArray(e)){let t=[];for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.push(n,`${e}`);else t.push(n,`${r}`);return t}let t=e.length,n=Array(t),r,i;for(let a=0;a<t;a+=2)r=e[a],i=e[a+1],typeof r!=`string`&&(r=r.toString()),typeof i!=`string`&&(i=i.toString(`latin1`)),n[a]=r,n[a+1]=i;return n}function U(e){let t=[];for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.push(Buffer.from(n,`latin1`),Buffer.from(`${e}`,`latin1`));else t.push(Buffer.from(n,`latin1`),Buffer.from(`${r}`,`latin1`));return t}function ne(e){if(!Array.isArray(e))throw TypeError(`expected headers to be an array`);return e.map(e=>Buffer.from(e))}function W(e){return e instanceof Uint8Array||Buffer.isBuffer(e)}function G(e,t,n){if(!e||typeof e!=`object`)throw new h(`handler must be an object`);if(typeof e.onRequestStart!=`function`)throw new h(`invalid onRequestStart method`);if(typeof e.onResponseError!=`function`)throw new h(`invalid onResponseError method`);if(typeof e.onBodySent!=`function`&&e.onBodySent!==void 0)throw new h(`invalid onBodySent method`);if(typeof e.onRequestSent!=`function`&&e.onRequestSent!==void 0)throw new h(`invalid onRequestSent method`);if(n||t===`CONNECT`){if(typeof e.onRequestUpgrade!=`function`)throw new h(`invalid onRequestUpgrade method`)}else{if(typeof e.onResponseStart!=`function`)throw new h(`invalid onResponseStart method`);if(typeof e.onResponseData!=`function`)throw new h(`invalid onResponseData method`);if(typeof e.onResponseEnd!=`function`)throw new h(`invalid onResponseEnd method`)}}function re(e){return!!(e&&(l.isDisturbed(e)||e[a]))}function K(e){return{localAddress:e.localAddress,localPort:e.localPort,remoteAddress:e.remoteAddress,remotePort:e.remotePort,remoteFamily:e.remoteFamily,timeout:e.timeout,bytesWritten:e.bytesWritten,bytesRead:e.bytesRead}}function ie(e){let t;return new ReadableStream({start(){t=e[Symbol.asyncIterator]()},pull(e){return t.next().then(({done:t,value:n})=>{if(t)return queueMicrotask(()=>{e.close(),e.byobRequest?.respond(0)});{let t=Buffer.isBuffer(n)?n:Buffer.from(n);return t.byteLength?e.enqueue(new Uint8Array(t)):this.pull(e)}})},cancel(){return t.return()},type:`bytes`})}function ae(e){return e&&typeof e==`object`&&typeof e.append==`function`&&typeof e.delete==`function`&&typeof e.get==`function`&&typeof e.getAll==`function`&&typeof e.has==`function`&&typeof e.set==`function`&&e[Symbol.toStringTag]===`FormData`}function oe(e,t){return!e||`aborted`in e?p(e,t)[Symbol.dispose]:typeof e.addEventListener==`function`?(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)):(e.once(`abort`,t),()=>e.removeListener(`abort`,t))}var se=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function ce(e){return se[e]===1}var le=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function ue(e){if(e.length>=12)return le.test(e);if(e.length===0)return!1;for(let t=0;t<e.length;t++)if(se[e.charCodeAt(t)]!==1)return!1;return!0}var de=/[^\t\x20-\x7e\x80-\xff]/;function fe(e){return!de.test(e)}var pe=/^bytes (\d+)-(\d+)\/(\d+|\*)?$/;function q(e){if(e==null||e===``)return{start:0,end:null,size:null};if(!e)return null;let t=pe.exec(e);return t?{start:parseInt(t[1]),end:t[2]?parseInt(t[2]):null,size:t[3]&&t[3]!==`*`?parseInt(t[3]):null}:null}function me(e,t,n){return(e[o]??=[]).push([t,n]),e.on(t,n),e}function he(e){if(e[o]!=null){for(let[t,n]of e[o])e.removeListener(t,n);e[o]=null}return e}function J(e,t,n){try{t.onResponseError(n),r(t.aborted)}catch(t){e.emit(`error`,t)}}var ge=process.platform===`win32`?(e,t)=>{if(!t.timeout)return b;let n=null,r=null,i=m.setFastTimeout(()=>{n=setImmediate(()=>{r=setImmediate(()=>_e(e.deref(),t))})},t.timeout);return()=>{m.clearFastTimeout(i),clearImmediate(n),clearImmediate(r)}}:(e,t)=>{if(!t.timeout)return b;let n=null,r=m.setFastTimeout(()=>{n=setImmediate(()=>{_e(e.deref(),t)})},t.timeout);return()=>{m.clearFastTimeout(r),clearImmediate(n)}};function _e(e,t){if(e==null)return;let n=`Connect Timeout Error`;Array.isArray(e.autoSelectFamilyAttemptedAddresses)?n+=` (attempted addresses: ${e.autoSelectFamilyAttemptedAddresses.join(`, `)},`:n+=` (attempted address: ${t.hostname}:${t.port},`,n+=` timeout: ${t.timeout}ms)`,R(e,new g(n))}var ve=null,ye=null;function be(e){if(e===ve)return ye;let t=xe(e);return ve=e,ye=t,t}function xe(e){if(e[0]===`h`&&e[1]===`t`&&e[2]===`t`&&e[3]===`p`)switch(e[4]){case`:`:return`http:`;case`s`:if(e[5]===`:`)return`https:`}return e.slice(0,e.indexOf(`:`)+1)}var Se={__proto__:null,enumerable:!0},Ce={delete:`DELETE`,DELETE:`DELETE`,get:`GET`,GET:`GET`,head:`HEAD`,HEAD:`HEAD`,options:`OPTIONS`,OPTIONS:`OPTIONS`,post:`POST`,POST:`POST`,put:`PUT`,PUT:`PUT`,query:`QUERY`,QUERY:`QUERY`},we={...Ce,patch:`patch`,PATCH:`PATCH`};Object.setPrototypeOf(Ce,null),Object.setPrototypeOf(we,null),n.exports={kEnumerableProperty:Se,isDisturbed:re,isBlobLike:C,parseOrigin:k,parseURL:O,getServerName:j,isStream:S,isIterable:P,hasSafeIterator:F,isAsyncIterable:N,isDestroyed:L,headerNameToString:V,bufferToLowerCasedHeaderName:ee,addListener:me,removeAllListeners:he,errorRequest:J,parseRawHeaders:te,toRawHeaders:U,encodeRawHeaders:ne,parseHeaders:H,parseKeepAliveTimeout:B,destroy:R,bodyLength:I,deepClone:M,ReadableStreamFrom:ie,isBuffer:W,assertRequestHandler:G,getSocketInfo:K,isFormDataLike:ae,pathHasQueryOrFragment:w,serializePathWithQuery:T,addAbortListener:oe,isValidHTTPToken:ue,isValidHeaderValue:fe,isTokenCharCode:ce,parseRangeHeader:q,normalizedMethodRecordsBase:Ce,normalizedMethodRecords:we,isValidPort:E,isHttpOrHttpsPrefixed:D,safeHTTPMethods:Object.freeze([`GET`,`HEAD`,`OPTIONS`,`TRACE`]),wrapRequestBody:x,setupConnectTimeout:ge,getProtocolFromUrlString:be}})),ls=t(((e,t)=>{var{kConnected:n,kPending:r,kRunning:i,kSize:a,kFree:o,kQueued:s}=Z();t.exports={ClientStats:class{constructor(e){this.connected=e[n],this.pending=e[r],this.running=e[i],this.size=e[a]}},PoolStats:class{constructor(e){this.connected=e[n],this.free=e[o],this.pending=e[r],this.queued=e[s],this.running=e[i],this.size=e[a]}}}})),us=t(((t,n)=>{var r=e(`node:diagnostics_channel`),i=e(`node:util`),a=i.debuglog(`undici`),o=i.debuglog(`fetch`),s=i.debuglog(`websocket`),c={beforeConnect:r.channel(`undici:client:beforeConnect`),connected:r.channel(`undici:client:connected`),connectError:r.channel(`undici:client:connectError`),sendHeaders:r.channel(`undici:client:sendHeaders`),create:r.channel(`undici:request:create`),bodySent:r.channel(`undici:request:bodySent`),bodyChunkSent:r.channel(`undici:request:bodyChunkSent`),bodyChunkReceived:r.channel(`undici:request:bodyChunkReceived`),headers:r.channel(`undici:request:headers`),trailers:r.channel(`undici:request:trailers`),error:r.channel(`undici:request:error`),open:r.channel(`undici:websocket:open`),close:r.channel(`undici:websocket:close`),socketError:r.channel(`undici:websocket:socket_error`),ping:r.channel(`undici:websocket:ping`),pong:r.channel(`undici:websocket:pong`),proxyConnected:r.channel(`undici:proxy:connected`)},l=!1;function u(e=a){if(!l){if(c.beforeConnect.hasSubscribers||c.connected.hasSubscribers||c.connectError.hasSubscribers||c.sendHeaders.hasSubscribers){l=!0;return}l=!0,r.subscribe(`undici:client:beforeConnect`,t=>{let{connectParams:{version:n,protocol:r,port:i,host:a}}=t;e(`connecting to %s%s using %s%s`,a,i?`:${i}`:``,r,n)}),r.subscribe(`undici:client:connected`,t=>{let{connectParams:{version:n,protocol:r,port:i,host:a}}=t;e(`connected to %s%s using %s%s`,a,i?`:${i}`:``,r,n)}),r.subscribe(`undici:client:connectError`,t=>{let{connectParams:{version:n,protocol:r,port:i,host:a},error:o}=t;e(`connection to %s%s using %s%s errored - %s`,a,i?`:${i}`:``,r,n,o.message)}),r.subscribe(`undici:client:sendHeaders`,t=>{let{request:{method:n,path:r,origin:i}}=t;e(`sending request to %s %s%s`,n,i,r)})}}var d=!1;function f(e=a){if(!d){if(c.headers.hasSubscribers||c.trailers.hasSubscribers||c.error.hasSubscribers){d=!0;return}d=!0,r.subscribe(`undici:request:headers`,t=>{let{request:{method:n,path:r,origin:i},response:{statusCode:a}}=t;e(`received response to %s %s%s - HTTP %d`,n,i,r,a)}),r.subscribe(`undici:request:trailers`,t=>{let{request:{method:n,path:r,origin:i}}=t;e(`trailers received from %s %s%s`,n,i,r)}),r.subscribe(`undici:request:error`,t=>{let{request:{method:n,path:r,origin:i},error:a}=t;e(`request to %s %s%s errored - %s`,n,i,r,a.message)})}}var p=!1;function m(e=s){if(!p){if(c.open.hasSubscribers||c.close.hasSubscribers||c.socketError.hasSubscribers||c.ping.hasSubscribers||c.pong.hasSubscribers){p=!0;return}p=!0,r.subscribe(`undici:websocket:open`,t=>{if(t.address!=null){let{address:n,port:r}=t.address;e(`connection opened %s%s`,n,r?`:${r}`:``)}else e(`connection opened`)}),r.subscribe(`undici:websocket:close`,t=>{let{websocket:n,code:r,reason:i}=t;e(`closed connection to %s - %s %s`,n.url,r,i)}),r.subscribe(`undici:websocket:socket_error`,t=>{e(`connection errored - %s`,t.message)}),r.subscribe(`undici:websocket:ping`,t=>{e(`ping received`)}),r.subscribe(`undici:websocket:pong`,t=>{e(`pong received`)})}}(a.enabled||o.enabled)&&(u(o.enabled?o:a),f(o.enabled?o:a)),s.enabled&&(u(a.enabled?a:s),m(s)),n.exports={channels:c}})),ds=t(((t,n)=>{var{InvalidArgumentError:r,NotSupportedError:i}=Q(),a=e(`node:assert`),{isValidHTTPToken:o,isValidHeaderValue:s,isStream:c,destroy:l,isBuffer:u,isFormDataLike:d,isIterable:f,hasSafeIterator:p,isBlobLike:m,serializePathWithQuery:h,parseHeaders:g,assertRequestHandler:_,getServerName:v,normalizedMethodRecords:y,getProtocolFromUrlString:b}=$(),{channels:x}=us(),{headerNameLowerCasedRecord:S}=ss(),C=/[^\u0021-\u00ff]/;function w(e){if(typeof e!=`string`||e.length===0)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return!0}var T=Symbol(`handler`),E=Symbol(`controller`),D=Symbol(`resume`),O=class{#e=!1;#t=null;#n=!1;#r;[D]=null;rawHeaders=null;rawTrailers=null;constructor(e){this.#r=e}pause(){this.#e=!0}resume(){this.#e&&(this.#e=!1,this[D]?.())}abort(e){this.#n||(this.#n=!0,this.#t=e,this.#r(e))}get aborted(){return this.#n}get reason(){return this.#t}get paused(){return this.#e}},k=class{constructor(e,{path:t,method:n,body:i,headers:a,query:g,idempotent:S,blocking:w,upgrade:E,headersTimeout:D,bodyTimeout:O,reset:k,expectContinue:j,servername:M,throwOnError:N,maxRedirections:P,typeOfService:F},I){if(typeof t!=`string`)throw new r(`path must be a string`);if(t[0]!==`/`&&!(t.startsWith(`http://`)||t.startsWith(`https://`))&&n!==`CONNECT`)throw new r(`path must be an absolute URL or start with a slash`);if(C.test(t))throw new r(`invalid request path`);if(typeof n!=`string`)throw new r(`method must be a string`);if(y[n]===void 0&&!o(n))throw new r(`invalid request method`);if(E&&typeof E!=`string`)throw new r(`upgrade must be a string`);if(E&&!s(E))throw new r(`invalid upgrade header`);if(D!=null&&(!Number.isFinite(D)||D<0))throw new r(`invalid headersTimeout`);if(O!=null&&(!Number.isFinite(O)||O<0))throw new r(`invalid bodyTimeout`);if(k!=null&&typeof k!=`boolean`)throw new r(`invalid reset`);if(j!=null&&typeof j!=`boolean`)throw new r(`invalid expectContinue`);if(N!=null)throw new r(`invalid throwOnError`);if(P!=null&&P!==0)throw new r(`maxRedirections is not supported, use the redirect interceptor`);if(F!=null&&(!Number.isInteger(F)||F<0||F>255))throw new r(`typeOfService must be an integer between 0 and 255`);if(this.headersTimeout=D,this.bodyTimeout=O,this.method=n,this.typeOfService=F,this.abort=null,i==null)this.body=null;else if(c(i)){this.body=i;let e=this.body._readableState;(!e||!e.autoDestroy)&&(this.endHandler=function(){l(this)},this.body.on(`end`,this.endHandler)),this.errorHandler=e=>{this.abort?this.abort(e):this.error=e},this.body.on(`error`,this.errorHandler)}else if(u(i))this.body=i.byteLength?i:null;else if(ArrayBuffer.isView(i))this.body=i.buffer.byteLength?Buffer.from(i.buffer,i.byteOffset,i.byteLength):null;else if(i instanceof ArrayBuffer)this.body=i.byteLength?Buffer.from(i):null;else if(typeof i==`string`)this.body=i.length?Buffer.from(i):null;else if(d(i)||f(i)||m(i))this.body=i;else throw new r(`body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable`);if(this.completed=!1,this.aborted=!1,this.upgrade=E||null,this.path=g?h(t,g):t,this.origin=e,this.protocol=b(e),this.idempotent=S??(n===`HEAD`||n===`GET`||n===`QUERY`),this.blocking=w??this.method!==`HEAD`,this.reset=k??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=j??!1,Array.isArray(a)){if(a.length%2!=0)throw new r(`headers array must be even`);for(let e=0;e<a.length;e+=2)A(this,a[e],a[e+1])}else if(a&&typeof a==`object`){if(p(a))for(let e of a){if(!Array.isArray(e)||e.length!==2)throw new r(`headers must be in key-value pair format`);A(this,e[0],e[1])}else{let e=Object.keys(a);for(let t=0;t<e.length;++t)A(this,e[t],a[e[t]])}}else if(a!=null)throw new r(`headers must be an object or an array`);_(I,n,E),this.servername=M||v(this.host)||null,this[T]=I,x.create.hasSubscribers&&x.create.publish({request:this})}onBodySent(e){if(x.bodyChunkSent.hasSubscribers&&x.bodyChunkSent.publish({request:this,chunk:e}),this[T].onBodySent)try{return this[T].onBodySent(e)}catch(e){this.abort(e)}}onRequestSent(){if(x.bodySent.hasSubscribers&&x.bodySent.publish({request:this}),this[T].onRequestSent)try{return this[T].onRequestSent()}catch(e){this.abort(e)}}onRequestStart(e,t){if(a(!this.aborted),a(!this.completed),this[E]=new O(e),this.error){this[E].abort(this.error);return}return this.abort=e,this[T].onRequestStart(this[E],t)}onResponseStarted(){return this[T].onResponseStarted?.()}onResponseStart(e,t,n,r){a(!this.aborted),a(!this.completed),x.headers.hasSubscribers&&x.headers.publish({request:this,response:{statusCode:e,headers:t,statusText:r}});let i=this[E];i&&(i[D]=n,i.rawHeaders=t);let o=Array.isArray(t)?g(t):t;try{return this[T].onResponseStart?.(i,e,o,r),!i?.paused}catch(e){return this.abort(e),!1}}onResponseData(e){a(!this.aborted),a(!this.completed),x.bodyChunkReceived.hasSubscribers&&x.bodyChunkReceived.publish({request:this,chunk:e});let t=this[E];try{return this[T].onResponseData?.(t,e),!t?.paused}catch(e){return this.abort(e),!1}}onRequestUpgrade(e,t,n){a(!this.aborted),a(!this.completed);let r=this[E];r&&(r.rawHeaders=t);let i=Array.isArray(t)?g(t):t;return this[T].onRequestUpgrade?.(r,e,i,n)}onResponseEnd(e){this.onFinally(),a(!this.aborted),a(!this.completed),this.completed=!0,x.trailers.hasSubscribers&&x.trailers.publish({request:this,trailers:e});let t=this[E];t&&(t.rawTrailers=e);let n=Array.isArray(e)?g(e):e;try{return this[T].onResponseEnd?.(t,n)}catch(e){this.onResponseError(e)}}onResponseError(e){if(this.onFinally(),x.error.hasSubscribers&&x.error.publish({request:this,error:e}),this.aborted)return;this.aborted=!0;let t=this[E];return this[T].onResponseError?.(t,e)}onFinally(){this.errorHandler&&=(this.body.off(`error`,this.errorHandler),null),this.endHandler&&=(this.body.off(`end`,this.endHandler),null)}addHeader(e,t){return A(this,e,t),this}};function A(e,t,n){if(n&&typeof n==`object`&&!Array.isArray(n))throw new r(`invalid ${t} header`);if(n===void 0)return;let a=S[t];if(a===void 0&&(a=t.toLowerCase(),S[a]===void 0&&!o(a)))throw new r(`invalid header key`);if(Array.isArray(n)){let e=[];for(let i=0;i<n.length;i++)if(typeof n[i]==`string`){if(!s(n[i]))throw new r(`invalid ${t} header`);e.push(n[i])}else if(n[i]===null)e.push(``);else if(typeof n[i]==`object`)throw new r(`invalid ${t} header`);else{let a=`${n[i]}`;if(!s(a))throw new r(`invalid ${t} header`);e.push(a)}n=e}else if(typeof n==`string`){if(!s(n))throw new r(`invalid ${t} header`)}else if(n===null)n=``;else if(n=`${n}`,!s(n))throw new r(`invalid ${t} header`);if(a===`host`){if(e.host!==null)throw new r(`duplicate host header`);if(typeof n!=`string`)throw new r(`invalid host header`);e.host=n}else if(a===`content-length`){if(e.contentLength!==null)throw new r(`duplicate content-length header`);if(!w(n))throw new r(`invalid content-length header`);e.contentLength=parseInt(n,10)}else if(e.contentType===null&&a===`content-type`)e.contentType=n,e.headers.push(t,n);else if(a===`transfer-encoding`||a===`keep-alive`||a===`upgrade`)throw new r(`invalid ${a} header`);else if(a===`connection`){let t=typeof n==`string`?n:null;if(t===null)throw new r(`invalid connection header`);for(let n of t.toLowerCase().split(`,`)){let t=n.trim();if(!o(t))throw new r(`invalid connection header`);t===`close`&&(e.reset=!0)}}else if(a===`expect`)throw new i(`expect header not supported`);else e.headers.push(t,n)}n.exports=k})),fs=t(((t,n)=>{var r=e(`node:events`),{kOriginless:i,kUrl:a}=Z();n.exports=class extends r{dispatch(){throw Error(`not implemented`)}close(){throw Error(`not implemented`)}destroy(){throw Error(`not implemented`)}compose(...e){let t=Array.isArray(e[0])?e[0]:e,n=this[i]===!0?null:this[a]?.origin,r=this.dispatch.bind(this);for(let e of t)if(e!=null){if(typeof e!=`function`)throw TypeError(`invalid interceptor, expected function received ${typeof e}`);if(r=e(r,n),r==null||typeof r!=`function`||r.length!==2)throw TypeError(`invalid interceptor`)}let o=r,s=this;return r=function(e,t){return e&&typeof e==`object`&&!e.origin&&s[a]&&(e=Object.assign({},e,{origin:s[a].origin})),o(e,t)},new Proxy(this,{get:(e,t)=>t===`dispatch`?r:e[t]})}}})),ps=t(((t,n)=>{var r=e(`node:buffer`),i=fs(),{ClientDestroyedError:a,ClientClosedError:o,InvalidArgumentError:s}=Q(),{kDestroy:c,kClose:l,kClosed:u,kDestroyed:d,kDispatch:f}=Z(),p=Symbol(`onDestroyed`),m=Symbol(`onClosed`),h=Symbol(`webSocketOptions`),g=Symbol(`eventSourceOptions`);n.exports=class extends i{[d]=!1;[p]=null;[u]=!1;[m]=null;constructor(e){super(),this[h]=e?.webSocket??{},this[g]=e?.eventSource??{}}get webSocketOptions(){return{maxFragments:this[h].maxFragments??131072,maxPayloadSize:this[h].maxPayloadSize??134217728}}get eventSourceOptions(){return{maxEventSize:this[g].maxEventSize??r.kStringMaxLength}}get destroyed(){return this[d]}get closed(){return this[u]}close(e){if(e===void 0)return new Promise((e,t)=>{this.close((n,r)=>n?t(n):e(r))});if(typeof e!=`function`)throw new s(`invalid callback`);if(this[d]){let t=new a;queueMicrotask(()=>e(t,null));return}if(this[u]){this[m]?this[m].push(e):queueMicrotask(()=>e(null,null));return}this[u]=!0,this[m]??=[],this[m].push(e);let t=()=>{let e=this[m];this[m]=null;for(let t=0;t<e.length;t++)e[t](null,null)};this[l]().then(()=>this.destroy()).then(()=>queueMicrotask(t))}destroy(e,t){if(typeof e==`function`&&(t=e,e=null),t===void 0)return new Promise((t,n)=>{this.destroy(e,(e,r)=>e?n(e):t(r))});if(typeof t!=`function`)throw new s(`invalid callback`);if(this[d]){this[p]?this[p].push(t):queueMicrotask(()=>t(null,null));return}e||=new a,this[d]=!0,this[p]??=[],this[p].push(t);let n=()=>{let e=this[p];this[p]=null;for(let t=0;t<e.length;t++)e[t](null,null)};this[c](e).then(()=>queueMicrotask(n))}dispatch(e,t){if(!t||typeof t!=`object`)throw new s(`handler must be an object`);try{if(!e||typeof e!=`object`)throw new s(`opts must be an object.`);if(e.dispatcher)throw new s(`opts.dispatcher is not supported by instance methods. Pass opts.dispatcher to the top-level undici functions or call the dispatcher instance method directly.`);if(this[d]||this[p])throw new a;if(this[u])throw new o;return this[f](e,t)}catch(e){if(typeof t.onResponseError!=`function`)throw e;return t.onResponseError(null,e),!1}}}})),ms=t(((t,n)=>{var r=e(`node:net`),i=e(`node:assert`),a=$(),{InvalidArgumentError:o,ConnectTimeoutError:s}=Q(),c,l=class{constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(e=>{if(this._sessionCache.size<this._maxCachedSessions)return;let t=this._sessionCache.get(e);t!==void 0&&t.deref()===void 0&&this._sessionCache.delete(e)})}get(e){let t=this._sessionCache.get(e);return t?t.deref():null}set(e,t){if(this._maxCachedSessions!==0){if(this._sessionCache.has(e))this._sessionCache.delete(e);else if(this._sessionCache.size>=this._maxCachedSessions){for(let[e,t]of this._sessionCache)if(t.deref()===void 0){this._sessionCache.delete(e);return}let e=this._sessionCache.keys().next();e.done||this._sessionCache.delete(e.value)}this._sessionCache.set(e,new WeakRef(t)),this._sessionRegistry.register(t,e)}}};function u({allowH2:t,preferH2:n,useH2c:s,maxCachedSessions:u,socketPath:f,timeout:p,session:m,...h}){if(u!=null&&(!Number.isInteger(u)||u<0))throw new o(`maxCachedSessions must be a positive integer or zero`);let g={path:f,...h},_=new l(u??100);return p??=1e4,t??=!0,function({hostname:o,host:l,protocol:u,port:f,servername:h,localAddress:v,httpSocket:y},b){let x;if(u===`https:`){c||=e(`node:tls`),h=h||g.servername||a.getServerName(l)||null;let r=h||o;i(r);let s=m||_.get(r)||null;f||=443,x=c.connect({highWaterMark:16384,...g,servername:h,session:s,localAddress:v,ALPNProtocols:t?n?[`h2`,`http/1.1`]:[`http/1.1`,`h2`]:[`http/1.1`],socket:y,port:f,host:o}),x.on(`session`,function(e){_.set(r,e)})}else{i(!y,`httpSocket can only be sent on TLS update`),f||=80;let e={highWaterMark:65536,...g,localAddress:v,port:f,host:o},t=r.isIP(o);t!==0&&h&&h!==o&&(e.host=h,e.lookup=(e,n,r)=>{n.all?r(null,[{address:o,family:t}]):r(null,o,t)}),x=r.connect(e),s===!0&&(x.alpnProtocol=`h2`)}if(g.keepAlive==null||g.keepAlive){let e=g.keepAliveInitialDelay===void 0?6e4:g.keepAliveInitialDelay;x.setKeepAlive(!0,e)}let S=a.setupConnectTimeout(new WeakRef(x),{timeout:p,hostname:o,port:f});return x.setNoDelay(!0).once(u===`https:`?`secureConnect`:`connect`,function(){if(queueMicrotask(S),b){let e=b;b=null,e(null,this)}}).on(`error`,function(e){if(queueMicrotask(S),b){let t=b;b=null,t(d(e,this,{timeout:p,hostname:o,port:f}))}}),x}}function d(e,t,n){if(e instanceof AggregateError&&(e.code===`ETIMEDOUT`||e.errors.some(e=>e!=null&&e.code===`ETIMEDOUT`))){let r=`Connect Timeout Error`;Array.isArray(t.autoSelectFamilyAttemptedAddresses)?r+=` (attempted addresses: ${t.autoSelectFamilyAttemptedAddresses.join(`, `)},`:r+=` (attempted address: ${n.hostname}:${n.port},`,r+=` timeout: ${n.timeout}ms)`;let i=new s(r);return i.cause=e,i}return e}n.exports=u})),hs=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.enumToMap=t;function t(e,t=[],n=[]){let r=(t?.length??0)===0,i=(n?.length??0)===0;return Object.fromEntries(Object.entries(e).filter(([,e])=>typeof e==`number`&&(r||t.includes(e))&&(i||!n.includes(e))))}})),gs=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SPECIAL_HEADERS=e.MINOR=e.MAJOR=e.HTAB_SP_VCHAR_OBS_TEXT=e.QUOTED_STRING=e.CONNECTION_TOKEN_CHARS=e.HEADER_CHARS=e.TOKEN=e.HEX=e.URL_CHAR=e.USERINFO_CHARS=e.MARK=e.ALPHANUM=e.NUM=e.HEX_MAP=e.NUM_MAP=e.ALPHA=e.STATUSES_HTTP=e.H_METHOD_MAP=e.METHOD_MAP=e.METHODS_RTSP=e.METHODS_ICE=e.METHODS_HTTP=e.HEADER_STATE=e.FINISH=e.STATUSES=e.METHODS=e.LENIENT_FLAGS=e.FLAGS=e.TYPE=e.ERROR=void 0;var t=hs();e.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38},e.TYPE={BOTH:0,REQUEST:1,RESPONSE:2},e.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512},e.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512},e.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46},e.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599},e.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2},e.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8},e.METHODS_HTTP=[e.METHODS.DELETE,e.METHODS.GET,e.METHODS.HEAD,e.METHODS.POST,e.METHODS.PUT,e.METHODS.CONNECT,e.METHODS.OPTIONS,e.METHODS.TRACE,e.METHODS.COPY,e.METHODS.LOCK,e.METHODS.MKCOL,e.METHODS.MOVE,e.METHODS.PROPFIND,e.METHODS.PROPPATCH,e.METHODS.SEARCH,e.METHODS.UNLOCK,e.METHODS.BIND,e.METHODS.REBIND,e.METHODS.UNBIND,e.METHODS.ACL,e.METHODS.REPORT,e.METHODS.MKACTIVITY,e.METHODS.CHECKOUT,e.METHODS.MERGE,e.METHODS[`M-SEARCH`],e.METHODS.NOTIFY,e.METHODS.SUBSCRIBE,e.METHODS.UNSUBSCRIBE,e.METHODS.PATCH,e.METHODS.PURGE,e.METHODS.MKCALENDAR,e.METHODS.LINK,e.METHODS.UNLINK,e.METHODS.PRI,e.METHODS.SOURCE,e.METHODS.QUERY],e.METHODS_ICE=[e.METHODS.SOURCE],e.METHODS_RTSP=[e.METHODS.OPTIONS,e.METHODS.DESCRIBE,e.METHODS.ANNOUNCE,e.METHODS.SETUP,e.METHODS.PLAY,e.METHODS.PAUSE,e.METHODS.TEARDOWN,e.METHODS.GET_PARAMETER,e.METHODS.SET_PARAMETER,e.METHODS.REDIRECT,e.METHODS.RECORD,e.METHODS.FLUSH,e.METHODS.GET,e.METHODS.POST],e.METHOD_MAP=(0,t.enumToMap)(e.METHODS),e.H_METHOD_MAP=Object.fromEntries(Object.entries(e.METHODS).filter(([e])=>e.startsWith(`H`))),e.STATUSES_HTTP=[e.STATUSES.CONTINUE,e.STATUSES.SWITCHING_PROTOCOLS,e.STATUSES.PROCESSING,e.STATUSES.EARLY_HINTS,e.STATUSES.RESPONSE_IS_STALE,e.STATUSES.REVALIDATION_FAILED,e.STATUSES.DISCONNECTED_OPERATION,e.STATUSES.HEURISTIC_EXPIRATION,e.STATUSES.MISCELLANEOUS_WARNING,e.STATUSES.OK,e.STATUSES.CREATED,e.STATUSES.ACCEPTED,e.STATUSES.NON_AUTHORITATIVE_INFORMATION,e.STATUSES.NO_CONTENT,e.STATUSES.RESET_CONTENT,e.STATUSES.PARTIAL_CONTENT,e.STATUSES.MULTI_STATUS,e.STATUSES.ALREADY_REPORTED,e.STATUSES.TRANSFORMATION_APPLIED,e.STATUSES.IM_USED,e.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,e.STATUSES.MULTIPLE_CHOICES,e.STATUSES.MOVED_PERMANENTLY,e.STATUSES.FOUND,e.STATUSES.SEE_OTHER,e.STATUSES.NOT_MODIFIED,e.STATUSES.USE_PROXY,e.STATUSES.SWITCH_PROXY,e.STATUSES.TEMPORARY_REDIRECT,e.STATUSES.PERMANENT_REDIRECT,e.STATUSES.BAD_REQUEST,e.STATUSES.UNAUTHORIZED,e.STATUSES.PAYMENT_REQUIRED,e.STATUSES.FORBIDDEN,e.STATUSES.NOT_FOUND,e.STATUSES.METHOD_NOT_ALLOWED,e.STATUSES.NOT_ACCEPTABLE,e.STATUSES.PROXY_AUTHENTICATION_REQUIRED,e.STATUSES.REQUEST_TIMEOUT,e.STATUSES.CONFLICT,e.STATUSES.GONE,e.STATUSES.LENGTH_REQUIRED,e.STATUSES.PRECONDITION_FAILED,e.STATUSES.PAYLOAD_TOO_LARGE,e.STATUSES.URI_TOO_LONG,e.STATUSES.UNSUPPORTED_MEDIA_TYPE,e.STATUSES.RANGE_NOT_SATISFIABLE,e.STATUSES.EXPECTATION_FAILED,e.STATUSES.IM_A_TEAPOT,e.STATUSES.PAGE_EXPIRED,e.STATUSES.ENHANCE_YOUR_CALM,e.STATUSES.MISDIRECTED_REQUEST,e.STATUSES.UNPROCESSABLE_ENTITY,e.STATUSES.LOCKED,e.STATUSES.FAILED_DEPENDENCY,e.STATUSES.TOO_EARLY,e.STATUSES.UPGRADE_REQUIRED,e.STATUSES.PRECONDITION_REQUIRED,e.STATUSES.TOO_MANY_REQUESTS,e.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,e.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,e.STATUSES.LOGIN_TIMEOUT,e.STATUSES.NO_RESPONSE,e.STATUSES.RETRY_WITH,e.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,e.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,e.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,e.STATUSES.INVALID_X_FORWARDED_FOR,e.STATUSES.REQUEST_HEADER_TOO_LARGE,e.STATUSES.SSL_CERTIFICATE_ERROR,e.STATUSES.SSL_CERTIFICATE_REQUIRED,e.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,e.STATUSES.INVALID_TOKEN,e.STATUSES.CLIENT_CLOSED_REQUEST,e.STATUSES.INTERNAL_SERVER_ERROR,e.STATUSES.NOT_IMPLEMENTED,e.STATUSES.BAD_GATEWAY,e.STATUSES.SERVICE_UNAVAILABLE,e.STATUSES.GATEWAY_TIMEOUT,e.STATUSES.HTTP_VERSION_NOT_SUPPORTED,e.STATUSES.VARIANT_ALSO_NEGOTIATES,e.STATUSES.INSUFFICIENT_STORAGE,e.STATUSES.LOOP_DETECTED,e.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,e.STATUSES.NOT_EXTENDED,e.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,e.STATUSES.WEB_SERVER_UNKNOWN_ERROR,e.STATUSES.WEB_SERVER_IS_DOWN,e.STATUSES.CONNECTION_TIMEOUT,e.STATUSES.ORIGIN_IS_UNREACHABLE,e.STATUSES.TIMEOUT_OCCURED,e.STATUSES.SSL_HANDSHAKE_FAILED,e.STATUSES.INVALID_SSL_CERTIFICATE,e.STATUSES.RAILGUN_ERROR,e.STATUSES.SITE_IS_OVERLOADED,e.STATUSES.SITE_IS_FROZEN,e.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,e.STATUSES.NETWORK_READ_TIMEOUT,e.STATUSES.NETWORK_CONNECT_TIMEOUT],e.ALPHA=[];for(let t=65;t<=90;t++)e.ALPHA.push(String.fromCharCode(t)),e.ALPHA.push(String.fromCharCode(t+32));e.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9},e.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},e.NUM=[`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`],e.ALPHANUM=e.ALPHA.concat(e.NUM),e.MARK=[`-`,`_`,`.`,`!`,`~`,`*`,`'`,`(`,`)`],e.USERINFO_CHARS=e.ALPHANUM.concat(e.MARK).concat([`%`,`;`,`:`,`&`,`=`,`+`,`$`,`,`]),e.URL_CHAR=`!"$%&'()*+,-./:;<=>@[\\]^_\`{|}~`.split(``).concat(e.ALPHANUM),e.HEX=e.NUM.concat([`a`,`b`,`c`,`d`,`e`,`f`,`A`,`B`,`C`,`D`,`E`,`F`]),e.TOKEN=[`!`,`#`,`$`,`%`,`&`,`'`,`*`,`+`,`-`,`.`,`^`,`_`,"`",`|`,`~`].concat(e.ALPHANUM),e.HEADER_CHARS=[` `];for(let t=32;t<=255;t++)t!==127&&e.HEADER_CHARS.push(t);e.CONNECTION_TOKEN_CHARS=e.HEADER_CHARS.filter(e=>e!==44),e.QUOTED_STRING=[` `,` `];for(let t=33;t<=255;t++)t!==34&&t!==92&&e.QUOTED_STRING.push(t);e.HTAB_SP_VCHAR_OBS_TEXT=[` `,` `];for(let t=33;t<=126;t++)e.HTAB_SP_VCHAR_OBS_TEXT.push(t);for(let t=128;t<=255;t++)e.HTAB_SP_VCHAR_OBS_TEXT.push(t);e.MAJOR=e.NUM_MAP,e.MINOR=e.MAJOR,e.SPECIAL_HEADERS={connection:e.HEADER_STATE.CONNECTION,"content-length":e.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":e.HEADER_STATE.CONNECTION,"transfer-encoding":e.HEADER_STATE.TRANSFER_ENCODING,upgrade:e.HEADER_STATE.UPGRADE},e.default={ERROR:e.ERROR,TYPE:e.TYPE,FLAGS:e.FLAGS,LENIENT_FLAGS:e.LENIENT_FLAGS,METHODS:e.METHODS,STATUSES:e.STATUSES,FINISH:e.FINISH,HEADER_STATE:e.HEADER_STATE,ALPHA:e.ALPHA,NUM_MAP:e.NUM_MAP,HEX_MAP:e.HEX_MAP,NUM:e.NUM,ALPHANUM:e.ALPHANUM,MARK:e.MARK,USERINFO_CHARS:e.USERINFO_CHARS,URL_CHAR:e.URL_CHAR,HEX:e.HEX,TOKEN:e.TOKEN,HEADER_CHARS:e.HEADER_CHARS,CONNECTION_TOKEN_CHARS:e.CONNECTION_TOKEN_CHARS,QUOTED_STRING:e.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:e.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:e.MAJOR,MINOR:e.MINOR,SPECIAL_HEADERS:e.SPECIAL_HEADERS,METHODS_HTTP:e.METHODS_HTTP,METHODS_ICE:e.METHODS_ICE,METHODS_RTSP:e.METHODS_RTSP,METHOD_MAP:e.METHOD_MAP,H_METHOD_MAP:e.H_METHOD_MAP,STATUSES_HTTP:e.STATUSES_HTTP}})),_s=t(((t,n)=>{var{Buffer:r}=e(`node:buffer`),i=`AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==`,a;Object.defineProperty(n,"exports",{get:()=>a||=r.from(i,`base64`)})})),vs=t(((t,n)=>{var{Buffer:r}=e(`node:buffer`),i=`AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==`,a;Object.defineProperty(n,"exports",{get:()=>a||=r.from(i,`base64`)})})),ys=t(((e,t)=>{var n=[`GET`,`HEAD`,`POST`],r=new Set(n),i=[101,204,205,304],a=[301,302,303,307,308],o=new Set(a),s=`1.7.9.11.13.15.17.19.20.21.22.23.25.37.42.43.53.69.77.79.87.95.101.102.103.104.109.110.111.113.115.117.119.123.135.137.139.143.161.179.389.427.465.512.513.514.515.526.530.531.532.540.548.554.556.563.587.601.636.989.990.993.995.1719.1720.1723.2049.3659.4045.4190.5060.5061.6000.6566.6665.6666.6667.6668.6669.6679.6697.10080`.split(`.`),c=new Set(s),l=[`no-referrer`,`no-referrer-when-downgrade`,`same-origin`,`origin`,`strict-origin`,`origin-when-cross-origin`,`strict-origin-when-cross-origin`,`unsafe-url`],u=[``,...l],d=new Set(l),f=[`follow`,`manual`,`error`],p=[`GET`,`HEAD`,`OPTIONS`,`TRACE`,`QUERY`],m=new Set(p),h=[`navigate`,`same-origin`,`no-cors`,`cors`],g=[`omit`,`same-origin`,`include`],_=[`default`,`no-store`,`reload`,`no-cache`,`force-cache`,`only-if-cached`],v=[`content-encoding`,`content-language`,`content-location`,`content-type`,`content-length`],y=[`half`],b=[`CONNECT`,`TRACE`,`TRACK`],x=new Set(b),S=[`audio`,`audioworklet`,`font`,`image`,`manifest`,`paintworklet`,`script`,`style`,`track`,`video`,`xslt`,``];t.exports={subresource:S,forbiddenMethods:b,requestBodyHeader:v,referrerPolicy:u,requestRedirect:f,requestMode:h,requestCredentials:g,requestCache:_,redirectStatus:a,corsSafeListedMethods:n,nullBodyStatus:i,safeMethods:p,badPorts:s,requestDuplex:y,subresourceSet:new Set(S),badPortsSet:c,redirectStatusSet:o,corsSafeListedMethodsSet:r,safeMethodsSet:m,forbiddenMethodsSet:x,referrerPolicyTokens:d}})),bs=t(((e,t)=>{var n=Symbol.for(`undici.globalOrigin.1`);function r(){return globalThis[n]}function i(e){if(e===void 0){Object.defineProperty(globalThis,n,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let t=new URL(e);if(t.protocol!==`http:`&&t.protocol!==`https:`)throw TypeError(`Only http & https urls are allowed, received ${t.protocol}`);Object.defineProperty(globalThis,n,{value:t,writable:!0,enumerable:!1,configurable:!1})}t.exports={getGlobalOrigin:r,setGlobalOrigin:i}})),xs=t(((e,t)=>{var n=new TextDecoder;function r(e){return e.length===0?``:(e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3)),n.decode(e))}t.exports={utf8DecodeBytes:r}})),Ss=t(((t,n)=>{var r=e(`node:assert`),{utf8DecodeBytes:i}=xs();function a(e,t,n){let r=``;for(;n.position<t.length&&e(t[n.position]);)r+=t[n.position],n.position++;return r}function o(e,t,n){let r=t.indexOf(e,n.position),i=n.position;return r===-1?(n.position=t.length,t.slice(i)):(n.position=r,t.slice(i,n.position))}var s=/[\u0009\u000A\u000C\u000D\u0020]/g;function c(e){e=e.replace(s,``);let t=e.length;if(t%4==0&&e.charCodeAt(t-1)===61&&(--t,e.charCodeAt(t-1)===61&&--t),t%4==1||/[^+/0-9A-Za-z]/.test(e.length===t?e:e.substring(0,t)))return`failure`;let n=Buffer.from(e,`base64`);return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}function l(e){return e===9||e===10||e===12||e===13||e===32}function u(e){let t=e.length;if(65535>t)return String.fromCharCode.apply(null,e);let n=``,r=0,i=65535;for(;r<t;)r+i>t&&(i=t-r),n+=String.fromCharCode.apply(null,e.subarray(r,r+=i));return n}var d=/[^\x00-\xFF]/;function f(e){return r(!d.test(e)),e}function p(e){return JSON.parse(i(e))}function m(e,t=!0,n=!0){return h(e,t,n,l)}function h(e,t,n,r){let i=0,a=e.length-1;if(t)for(;i<e.length&&r(e.charCodeAt(i));)i++;if(n)for(;a>0&&r(e.charCodeAt(a));)a--;return i===0&&a===e.length-1?e:e.slice(i,a+1)}function g(e){let t=JSON.stringify(e);if(t===void 0)throw TypeError(`Value is not JSON serializable`);return r(typeof t==`string`),t}n.exports={collectASequenceOfCodePoints:a,collectASequenceOfCodePointsFast:o,forgivingBase64:c,isASCIIWhitespace:l,isomorphicDecode:u,isomorphicEncode:f,parseJSONFromBytes:p,removeASCIIWhitespace:m,removeChars:h,serializeJavascriptValueToJSONString:g}})),Cs=t(((t,n)=>{var r=e(`node:assert`),{forgivingBase64:i,collectASequenceOfCodePoints:a,collectASequenceOfCodePointsFast:o,isomorphicDecode:s,removeASCIIWhitespace:c,removeChars:l}=Ss(),u=new TextEncoder,d=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,f=/[\u000A\u000D\u0009\u0020]/u,p=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function m(e){r(e.protocol===`data:`);let t=h(e,!0);t=t.slice(5);let n={position:0},a=o(`,`,t,n),l=a.length;if(a=c(a,!0,!0),n.position>=t.length)return`failure`;n.position++;let u=g(t.slice(l+1));if(/;(?:\u0020*)base64$/iu.test(a)){if(u=i(s(u)),u===`failure`)return`failure`;a=a.slice(0,-6),a=a.replace(/(\u0020+)$/u,``),a=a.slice(0,-1)}a.startsWith(`;`)&&(a=`text/plain`+a);let d=b(a);return d===`failure`&&(d=b(`text/plain;charset=US-ASCII`)),{mimeType:d,body:u}}function h(e,t=!1){if(!t)return e.href;let n=e.href,r=e.hash.length,i=r===0?n:n.substring(0,n.length-r);return!r&&n.endsWith(`#`)?i.slice(0,-1):i}function g(e){return y(u.encode(e))}function _(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function v(e){return e>=48&&e<=57?e-48:(e&223)-55}function y(e){let t=e.length,n=new Uint8Array(t),r=0,i=0;for(;i<t;){let t=e[i];t===37?t===37&&!(_(e[i+1])&&_(e[i+2]))?n[r++]=37:(n[r++]=v(e[i+1])<<4|v(e[i+2]),i+=2):n[r++]=t,++i}return t===r?n:n.subarray(0,r)}function b(e){e=w(e,!0,!0);let t={position:0},n=o(`/`,e,t);if(n.length===0||!d.test(n)||t.position>=e.length)return`failure`;t.position++;let r=o(`;`,e,t);if(r=w(r,!1,!0),r.length===0||!d.test(r))return`failure`;let i=n.toLowerCase(),s=r.toLowerCase(),c={type:i,subtype:s,parameters:new Map,essence:`${i}/${s}`};for(;t.position<e.length;){t.position++,a(e=>f.test(e),e,t);let n=a(e=>e!==`;`&&e!==`=`,e,t);if(n=n.toLowerCase(),t.position<e.length){if(e[t.position]===`;`)continue;t.position++}if(t.position>=e.length)break;let r=null;if(e[t.position]===`"`)r=x(e,t,!0),o(`;`,e,t);else if(r=o(`;`,e,t),r=w(r,!1,!0),r.length===0)continue;n.length!==0&&d.test(n)&&(r.length===0||p.test(r))&&!c.parameters.has(n)&&c.parameters.set(n,r)}return c}function x(e,t,n=!1){let i=t.position,o=``;for(r(e[t.position]===`"`),t.position++;o+=a(e=>e!==`"`&&e!==`\\`,e,t),!(t.position>=e.length);){let n=e[t.position];if(t.position++,n===`\\`){if(t.position>=e.length){o+=`\\`;break}o+=e[t.position],t.position++}else{r(n===`"`);break}}return n?o:e.slice(i,t.position)}function S(e){r(e!==`failure`);let{parameters:t,essence:n}=e,i=n;for(let[e,n]of t.entries())i+=`;`,i+=e,i+=`=`,d.test(n)||(n=n.replace(/[\\"]/gu,`\\$&`),n=`"`+n,n+=`"`),i+=n;return i}function C(e){return e===13||e===10||e===9||e===32}function w(e,t=!0,n=!0){return l(e,t,n,C)}function T(e){switch(e.essence){case`application/ecmascript`:case`application/javascript`:case`application/x-ecmascript`:case`application/x-javascript`:case`text/ecmascript`:case`text/javascript`:case`text/javascript1.0`:case`text/javascript1.1`:case`text/javascript1.2`:case`text/javascript1.3`:case`text/javascript1.4`:case`text/javascript1.5`:case`text/jscript`:case`text/livescript`:case`text/x-ecmascript`:case`text/x-javascript`:return`text/javascript`;case`application/json`:case`text/json`:return`application/json`;case`image/svg+xml`:return`image/svg+xml`;case`text/xml`:case`application/xml`:return`application/xml`}return e.subtype.endsWith(`+json`)?`application/json`:e.subtype.endsWith(`+xml`)?`application/xml`:``}n.exports={dataURLProcessor:m,URLSerializer:h,stringPercentDecode:g,parseMIMEType:b,collectAnHTTPQuotedString:x,serializeAMimeType:S,removeHTTPWhitespace:w,minimizeSupportedMimeType:T,HTTP_TOKEN_CODEPOINTS:d}})),ws=t(((t,n)=>{var r=e(`node:assert`),{types:i,inspect:a}=e(`node:util`),{markAsUncloneable:o}=e(`node:worker_threads`),s=1,c=2,l=3,u=4,d=5,f=6,p=7,m=8,h=Function.call.bind(Function.prototype[Symbol.hasInstance]),g={converters:{},util:{},errors:{},is:{}};g.errors.exception=function(e){return TypeError(`${e.header}: ${e.message}`)},g.errors.conversionFailed=function(e){let t=e.types.length===1?``:` one of`,n=`${e.argument} could not be converted to${t}: ${e.types.join(`, `)}.`;return g.errors.exception({header:e.prefix,message:n})},g.errors.invalidArgument=function(e){return g.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})},g.brandCheck=function(e,t){if(!h(t,e)){let e=TypeError(`Illegal invocation`);throw e.code=`ERR_INVALID_THIS`,e}},g.brandCheckMultiple=function(e){let t=e.map(e=>g.util.MakeTypeAssertion(e));return e=>{if(t.every(t=>!t(e))){let e=TypeError(`Illegal invocation`);throw e.code=`ERR_INVALID_THIS`,e}}},g.argumentLengthCheck=function({length:e},t,n){if(e<t)throw g.errors.exception({message:`${t} argument${t===1?``:`s`} required, but${e?` only`:``} ${e} found.`,header:n})},g.illegalConstructor=function(){throw g.errors.exception({header:`TypeError`,message:`Illegal constructor`})},g.util.MakeTypeAssertion=function(e){return t=>h(e,t)},g.util.Type=function(e){switch(typeof e){case`undefined`:return s;case`boolean`:return c;case`string`:return l;case`symbol`:return u;case`number`:return d;case`bigint`:return f;case`function`:case`object`:return e===null?p:m}},g.util.Types={UNDEFINED:s,BOOLEAN:c,STRING:l,SYMBOL:u,NUMBER:d,BIGINT:f,NULL:p,OBJECT:m},g.util.TypeValueToString=function(e){switch(g.util.Type(e)){case s:return`Undefined`;case c:return`Boolean`;case l:return`String`;case u:return`Symbol`;case d:return`Number`;case f:return`BigInt`;case p:return`Null`;case m:return`Object`}},g.util.markAsUncloneable=o,g.util.ConvertToInt=function(e,t,n,r){let i,a;t===64?(i=2**53-1,a=n===`unsigned`?0:(-2)**53+1):n===`unsigned`?(a=0,i=2**t-1):(a=-(2**(t-1)),i=2**(t-1)-1);let o=Number(e);if(o===0&&(o=0),g.util.HasFlag(r,g.attributes.EnforceRange)){if(Number.isNaN(o)||o===1/0||o===-1/0)throw g.errors.exception({header:`Integer conversion`,message:`Could not convert ${g.util.Stringify(e)} to an integer.`});if(o=g.util.IntegerPart(o),o<a||o>i)throw g.errors.exception({header:`Integer conversion`,message:`Value must be between ${a}-${i}, got ${o}.`});return o}return!Number.isNaN(o)&&g.util.HasFlag(r,g.attributes.Clamp)?(o=Math.min(Math.max(o,a),i),o=Math.floor(o)%2==0?Math.floor(o):Math.ceil(o),o):Number.isNaN(o)||o===0&&Object.is(0,o)||o===1/0||o===-1/0?0:(o=g.util.IntegerPart(o),o%=2**t,n===`signed`&&o>=2**(t-1)?o-2**t:o)},g.util.IntegerPart=function(e){let t=Math.floor(Math.abs(e));return e<0?-1*t:t},g.util.Stringify=function(e){switch(g.util.Type(e)){case u:return`Symbol(${e.description})`;case m:return a(e);case l:return`"${e}"`;case f:return`${e}n`;default:return`${e}`}},g.util.IsResizableArrayBuffer=function(e){if(i.isArrayBuffer(e))return e.resizable;if(i.isSharedArrayBuffer(e))return e.growable;throw g.errors.exception({header:`IsResizableArrayBuffer`,message:`"${g.util.Stringify(e)}" is not an array buffer.`})},g.util.HasFlag=function(e,t){return typeof e==`number`&&(e&t)===t},g.sequenceConverter=function(e){return(t,n,r,i)=>{if(g.util.Type(t)!==m)throw g.errors.exception({header:n,message:`${r} (${g.util.Stringify(t)}) is not iterable.`});let a=typeof i==`function`?i():t?.[Symbol.iterator]?.(),o=[],s=0;if(a===void 0||typeof a.next!=`function`)throw g.errors.exception({header:n,message:`${r} is not iterable.`});for(;;){let{done:t,value:i}=a.next();if(t)break;o.push(e(i,n,`${r}[${s++}]`))}return o}},g.recordConverter=function(e,t){return(n,r,a)=>{if(g.util.Type(n)!==m)throw g.errors.exception({header:r,message:`${a} ("${g.util.TypeValueToString(n)}") is not an Object.`});let o={};if(!i.isProxy(n)){let i=[...Object.getOwnPropertyNames(n),...Object.getOwnPropertySymbols(n)];for(let s of i){let i=g.util.Stringify(s),c=e(s,r,`Key ${i} in ${a}`);o[c]=t(n[s],r,`${a}[${i}]`)}return o}let s=Reflect.ownKeys(n);for(let i of s)if(Reflect.getOwnPropertyDescriptor(n,i)?.enumerable){let s=e(i,r,a);o[s]=t(n[i],r,a)}return o}},g.interfaceConverter=function(e,t){return(n,r,i)=>{if(!e(n))throw g.errors.exception({header:r,message:`Expected ${i} ("${g.util.Stringify(n)}") to be an instance of ${t}.`});return n}},g.dictionaryConverter=function(e){return e.sort((e,t)=>(e.key>t.key)-(e.key<t.key)),(t,n,r)=>{let i={};if(t!=null&&g.util.Type(t)!==m)throw g.errors.exception({header:n,message:`Expected ${t} to be one of: Null, Undefined, Object.`});for(let a of e){let{key:e,defaultValue:o,required:s,converter:c}=a;if(s===!0&&(t==null||!Object.hasOwn(t,e)))throw g.errors.exception({header:n,message:`Missing required key "${e}".`});let l=t?.[e],u=o!==void 0;if(u&&l===void 0&&(l=o()),s||u||l!==void 0){if(l=c(l,n,`${r}.${e}`),a.allowedValues&&!a.allowedValues.includes(l))throw g.errors.exception({header:n,message:`${l} is not an accepted type. Expected one of ${a.allowedValues.join(`, `)}.`});i[e]=l}}return i}},g.nullableConverter=function(e){return(t,n,r)=>t===null?t:e(t,n,r)},g.is.USVString=function(e){return typeof e==`string`&&e.isWellFormed()},g.is.ReadableStream=g.util.MakeTypeAssertion(ReadableStream),g.is.Blob=g.util.MakeTypeAssertion(Blob),g.is.URLSearchParams=g.util.MakeTypeAssertion(URLSearchParams),g.is.File=g.util.MakeTypeAssertion(File),g.is.URL=g.util.MakeTypeAssertion(URL),g.is.AbortSignal=g.util.MakeTypeAssertion(AbortSignal),g.is.MessagePort=g.util.MakeTypeAssertion(MessagePort),g.is.BufferSource=function(e){return i.isArrayBuffer(e)||ArrayBuffer.isView(e)&&i.isArrayBuffer(e.buffer)},g.util.getCopyOfBytesHeldByBufferSource=function(e){let t=e,n=t,a=0,o=0;if(i.isTypedArray(t)||i.isDataView(t)?(n=t.buffer,a=t.byteOffset,o=t.byteLength):(r(i.isAnyArrayBuffer(t)),o=t.byteLength),n.detached)return new Uint8Array;let s=new Uint8Array(o),c=new Uint8Array(n,a,o);return s.set(c),s},g.converters.DOMString=function(e,t,n,r){if(e===null&&g.util.HasFlag(r,g.attributes.LegacyNullToEmptyString))return``;if(typeof e==`symbol`)throw g.errors.exception({header:t,message:`${n} is a symbol, which cannot be converted to a DOMString.`});return String(e)},g.converters.ByteString=function(e,t,n){if(typeof e==`symbol`)throw g.errors.exception({header:t,message:`${n} is a symbol, which cannot be converted to a ByteString.`});let r=String(e);for(let e=0;e<r.length;e++)if(r.charCodeAt(e)>255)throw TypeError(`Cannot convert argument to a ByteString because the character at index ${e} has a value of ${r.charCodeAt(e)} which is greater than 255.`);return r},g.converters.USVString=function(e){return typeof e==`string`?e.toWellFormed():`${e}`.toWellFormed()},g.converters.boolean=function(e){return!!e},g.converters.any=function(e){return e},g.converters[`long long`]=function(e,t,n){return g.util.ConvertToInt(e,64,`signed`,0,t,n)},g.converters[`unsigned long long`]=function(e,t,n){return g.util.ConvertToInt(e,64,`unsigned`,0,t,n)},g.converters[`unsigned long`]=function(e,t,n){return g.util.ConvertToInt(e,32,`unsigned`,0,t,n)},g.converters[`unsigned short`]=function(e,t,n,r){return g.util.ConvertToInt(e,16,`unsigned`,r,t,n)},g.converters.ArrayBuffer=function(e,t,n,r){if(g.util.Type(e)!==m||!i.isArrayBuffer(e))throw g.errors.conversionFailed({prefix:t,argument:`${n} ("${g.util.Stringify(e)}")`,types:[`ArrayBuffer`]});if(!g.util.HasFlag(r,g.attributes.AllowResizable)&&g.util.IsResizableArrayBuffer(e))throw g.errors.exception({header:t,message:`${n} cannot be a resizable ArrayBuffer.`});return e},g.converters.SharedArrayBuffer=function(e,t,n,r){if(g.util.Type(e)!==m||!i.isSharedArrayBuffer(e))throw g.errors.conversionFailed({prefix:t,argument:`${n} ("${g.util.Stringify(e)}")`,types:[`SharedArrayBuffer`]});if(!g.util.HasFlag(r,g.attributes.AllowResizable)&&g.util.IsResizableArrayBuffer(e))throw g.errors.exception({header:t,message:`${n} cannot be a resizable SharedArrayBuffer.`});return e},g.converters.TypedArray=function(e,t,n,r,a){if(g.util.Type(e)!==m||!i.isTypedArray(e)||e.constructor.name!==t.name)throw g.errors.conversionFailed({prefix:n,argument:`${r} ("${g.util.Stringify(e)}")`,types:[t.name]});if(!g.util.HasFlag(a,g.attributes.AllowShared)&&i.isSharedArrayBuffer(e.buffer))throw g.errors.exception({header:n,message:`${r} cannot be a view on a shared array buffer.`});if(!g.util.HasFlag(a,g.attributes.AllowResizable)&&g.util.IsResizableArrayBuffer(e.buffer))throw g.errors.exception({header:n,message:`${r} cannot be a view on a resizable array buffer.`});return e},g.converters.DataView=function(e,t,n,r){if(g.util.Type(e)!==m||!i.isDataView(e))throw g.errors.conversionFailed({prefix:t,argument:`${n} ("${g.util.Stringify(e)}")`,types:[`DataView`]});if(!g.util.HasFlag(r,g.attributes.AllowShared)&&i.isSharedArrayBuffer(e.buffer))throw g.errors.exception({header:t,message:`${n} cannot be a view on a shared array buffer.`});if(!g.util.HasFlag(r,g.attributes.AllowResizable)&&g.util.IsResizableArrayBuffer(e.buffer))throw g.errors.exception({header:t,message:`${n} cannot be a view on a resizable array buffer.`});return e},g.converters.ArrayBufferView=function(e,t,n,r){if(g.util.Type(e)!==m||!i.isArrayBufferView(e))throw g.errors.conversionFailed({prefix:t,argument:`${n} ("${g.util.Stringify(e)}")`,types:[`ArrayBufferView`]});if(!g.util.HasFlag(r,g.attributes.AllowShared)&&i.isSharedArrayBuffer(e.buffer))throw g.errors.exception({header:t,message:`${n} cannot be a view on a shared array buffer.`});if(!g.util.HasFlag(r,g.attributes.AllowResizable)&&g.util.IsResizableArrayBuffer(e.buffer))throw g.errors.exception({header:t,message:`${n} cannot be a view on a resizable array buffer.`});return e},g.converters.BufferSource=function(e,t,n,r){if(i.isArrayBuffer(e))return g.converters.ArrayBuffer(e,t,n,r);if(i.isArrayBufferView(e))return r&=~g.attributes.AllowShared,g.converters.ArrayBufferView(e,t,n,r);throw i.isSharedArrayBuffer(e)?g.errors.exception({header:t,message:`${n} cannot be a SharedArrayBuffer.`}):g.errors.conversionFailed({prefix:t,argument:`${n} ("${g.util.Stringify(e)}")`,types:[`ArrayBuffer`,`ArrayBufferView`]})},g.converters.AllowSharedBufferSource=function(e,t,n,r){if(i.isArrayBuffer(e))return g.converters.ArrayBuffer(e,t,n,r);if(i.isSharedArrayBuffer(e))return g.converters.SharedArrayBuffer(e,t,n,r);if(i.isArrayBufferView(e))return r|=g.attributes.AllowShared,g.converters.ArrayBufferView(e,t,n,r);throw g.errors.conversionFailed({prefix:t,argument:`${n} ("${g.util.Stringify(e)}")`,types:[`ArrayBuffer`,`SharedArrayBuffer`,`ArrayBufferView`]})},g.converters[`sequence<ByteString>`]=g.sequenceConverter(g.converters.ByteString),g.converters[`sequence<sequence<ByteString>>`]=g.sequenceConverter(g.converters[`sequence<ByteString>`]),g.converters[`record<ByteString, ByteString>`]=g.recordConverter(g.converters.ByteString,g.converters.ByteString),g.converters.Blob=g.interfaceConverter(g.is.Blob,`Blob`),g.converters.AbortSignal=g.interfaceConverter(g.is.AbortSignal,`AbortSignal`),g.converters.EventHandlerNonNull=function(e){return g.util.Type(e)===m?typeof e==`function`?e:()=>{}:null},g.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16},n.exports={webidl:g}})),Ts=t(((t,n)=>{var{Transform:r}=e(`node:stream`),i=e(`node:zlib`),{redirectStatusSet:a,referrerPolicyTokens:o,badPortsSet:s}=ys(),{getGlobalOrigin:c}=bs(),{collectAnHTTPQuotedString:l,parseMIMEType:u}=Cs(),{performance:d}=e(`node:perf_hooks`),{ReadableStreamFrom:f,isValidHTTPToken:p,normalizedMethodRecordsBase:m}=$(),h=e(`node:assert`),{isUint8Array:g}=e(`node:util/types`),{webidl:_}=ws(),{isomorphicEncode:v,collectASequenceOfCodePoints:y,removeChars:b}=Ss();function x(e){let t=e.urlList,n=t.length;return n===0?null:t[n-1].toString()}function S(e,t){if(!a.has(e.status))return null;let n=e.headersList.get(`location`,!0);return n!==null&&A(n)&&(C(n)||(n=w(n)),n=new URL(n,x(e))),n&&!n.hash&&(n.hash=t),n}function C(e){for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(n>126||n<32)return!1}return!0}function w(e){return Buffer.from(e,`binary`).toString(`utf8`)}function T(e){return e.urlList[e.urlList.length-1]}function E(e){let t=T(e);return J(t)&&s.has(t.port)?`blocked`:`allowed`}function D(e){return e instanceof Error||e?.constructor?.name===`Error`||e?.constructor?.name===`DOMException`}function O(e){for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(!(n===9||n>=32&&n<=126||n>=128&&n<=255))return!1}return!0}var k=p;function A(e){return(e[0]===` `||e[0]===` `||e[e.length-1]===` `||e[e.length-1]===` `||e.includes(`
20
+ `)||e.includes(`\r`)||e.includes(`\0`))===!1}function j(e){let t=(e.headersList.get(`referrer-policy`,!0)??``).split(`,`),n=``;if(t.length)for(let e=t.length;e!==0;e--){let r=t[e-1].trim();if(o.has(r)){n=r;break}}return n}function M(e,t){let n=j(t);n!==``&&(e.referrerPolicy=n)}function N(){return`allowed`}function P(){return`success`}function F(){return`success`}function I(e){if(!K(T(e)))return;let t=null;t=e.mode,e.headersList.set(`sec-fetch-mode`,t,!0)}function L(e){let t=e.origin;if(t!==`client`&&t!==void 0){if(e.responseTainting===`cors`||e.mode===`websocket`)e.headersList.append(`origin`,t,!0);else if(e.method!==`GET`&&e.method!==`HEAD`){switch(e.referrerPolicy){case`no-referrer`:t=null;break;case`no-referrer-when-downgrade`:case`strict-origin`:case`strict-origin-when-cross-origin`:e.origin&&he(e.origin)&&!he(T(e))&&(t=null);break;case`same-origin`:ae(e,T(e))||(t=null)}e.headersList.append(`origin`,t,!0)}}}function R(e,t){return e}function z(e,t,n){return!e?.startTime||e.startTime<t?{domainLookupStartTime:t,domainLookupEndTime:t,connectionStartTime:t,connectionEndTime:t,secureConnectionStartTime:t,ALPNNegotiatedProtocol:e?.ALPNNegotiatedProtocol}:{domainLookupStartTime:R(e.domainLookupStartTime,n),domainLookupEndTime:R(e.domainLookupEndTime,n),connectionStartTime:R(e.connectionStartTime,n),connectionEndTime:R(e.connectionEndTime,n),secureConnectionStartTime:R(e.secureConnectionStartTime,n),ALPNNegotiatedProtocol:e.ALPNNegotiatedProtocol}}function B(e){return R(d.now(),e)}function V(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function ee(){return{referrerPolicy:`strict-origin-when-cross-origin`}}function H(e){return{referrerPolicy:e.referrerPolicy}}function te(e){let t=e.referrerPolicy;h(t);let n=null;if(e.referrer===`client`){let e=c();if(!e||e.origin===`null`)return`no-referrer`;n=new URL(e)}else _.is.URL(e.referrer)&&(n=e.referrer);let r=U(n),i=U(n,!0);switch(r.toString().length>4096&&(r=i),t){case`no-referrer`:return`no-referrer`;case`origin`:return i??U(n,!0);case`unsafe-url`:return r;case`strict-origin`:{let t=T(e);return K(r)&&!K(t)?`no-referrer`:i}case`strict-origin-when-cross-origin`:{let t=T(e);return ae(r,t)?r:K(r)&&!K(t)?`no-referrer`:i}case`same-origin`:return ae(e,r)?r:`no-referrer`;case`origin-when-cross-origin`:return ae(e,r)?r:i;case`no-referrer-when-downgrade`:{let t=T(e);return K(r)&&!K(t)?`no-referrer`:r}}}function U(e,t=!1){return h(_.is.URL(e)),e=new URL(e),me(e)?`no-referrer`:(e.username=``,e.password=``,e.hash=``,t===!0&&(e.pathname=``,e.search=``),e)}var ne=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),W=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function G(e){return e.includes(`:`)?(e[0]===`[`&&e[e.length-1]===`]`&&(e=e.slice(1,-1)),W(e)):ne(e)}function re(e){return e==null||e===`null`?!1:(e=new URL(e),!!(e.protocol===`https:`||e.protocol===`wss:`||G(e.hostname)||e.hostname===`localhost`||e.hostname===`localhost.`||e.hostname.endsWith(`.localhost`)||e.hostname.endsWith(`.localhost.`)||e.protocol===`file:`))}function K(e){return _.is.URL(e)?e.href===`about:blank`||e.href===`about:srcdoc`||e.protocol===`data:`||e.protocol===`blob:`||re(e.origin):!1}function ie(e){}function ae(e,t){return e.origin===t.origin&&e.origin===`null`||e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port}function oe(e){return e.controller.state===`aborted`}function se(e){return e.controller.state===`aborted`||e.controller.state===`terminated`}function ce(e){return m[e.toLowerCase()]??e}var le=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function ue(e,t,n=0,r=1){class i{#e;#t;#n;constructor(e,t){this.#e=e,this.#t=t,this.#n=0}next(){if(typeof this!=`object`||this===null||!(#e in this))throw TypeError(`'next' called on an object that does not implement interface ${e} Iterator.`);let i=this.#n,a=t(this.#e);if(i>=a.length)return{value:void 0,done:!0};let{[n]:o,[r]:s}=a[i];this.#n=i+1;let c;switch(this.#t){case`key`:c=o;break;case`value`:c=s;break;case`key+value`:c=[o,s]}return{value:c,done:!1}}}return delete i.prototype.constructor,Object.setPrototypeOf(i.prototype,le),Object.defineProperties(i.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${e} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(e,t){return new i(e,t)}}function de(e,t,n,r=0,i=1){let a=ue(e,n,r,i),o={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return _.brandCheck(this,t),a(this,`key`)}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return _.brandCheck(this,t),a(this,`value`)}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return _.brandCheck(this,t),a(this,`key+value`)}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(n,r=globalThis){if(_.brandCheck(this,t),_.argumentLengthCheck(arguments,1,`${e}.forEach`),typeof n!=`function`)throw TypeError(`Failed to execute 'forEach' on '${e}': parameter 1 is not of type 'Function'.`);for(let{0:e,1:t}of a(this,`key+value`))n.call(r,t,e,this)}}};return Object.defineProperties(t.prototype,{...o,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:o.entries.value}})}function fe(e,t,n){let r=t,i=n;try{q(e.stream.getReader(),r,i)}catch(e){i(e)}}function pe(e){try{e.close(),e.byobRequest?.respond(0)}catch(e){if(!e.message.includes(`Controller is already closed`)&&!e.message.includes(`ReadableStream is already closed`))throw e}}async function q(e,t,n){try{let r=[],i=0;do{let{done:a,value:o}=await e.read();if(a){t(Buffer.concat(r,i));return}if(!g(o)){n(TypeError(`Received non-Uint8Array chunk`));return}r.push(o),i+=o.length}while(1)}catch(e){n(e)}}function me(e){h(`protocol`in e);let t=e.protocol;return t===`about:`||t===`blob:`||t===`data:`}function he(e){return typeof e==`string`&&e[5]===`:`&&e[0]===`h`&&e[1]===`t`&&e[2]===`t`&&e[3]===`p`&&e[4]===`s`||e.protocol===`https:`}function J(e){h(`protocol`in e);let t=e.protocol;return t===`http:`||t===`https:`}function ge(e,t){let n=e;if(!n.startsWith(`bytes`))return`failure`;let r={position:5};if(t&&y(e=>e===` `||e===` `,n,r),n.charCodeAt(r.position)!==61)return`failure`;r.position++,t&&y(e=>e===` `||e===` `,n,r);let i=y(e=>{let t=e.charCodeAt(0);return t>=48&&t<=57},n,r),a=i.length?Number(i):null;if(t&&y(e=>e===` `||e===` `,n,r),n.charCodeAt(r.position)!==45)return`failure`;r.position++,t&&y(e=>e===` `||e===` `,n,r);let o=y(e=>{let t=e.charCodeAt(0);return t>=48&&t<=57},n,r),s=o.length?Number(o):null;return r.position<n.length||s===null&&a===null||a!==null&&s!==null&&a>s?`failure`:{rangeStartValue:a,rangeEndValue:s}}function _e(e,t,n){let r=`bytes `;return r+=v(`${e}`),r+=`-`,r+=v(`${t}`),r+=`/`,r+=v(`${n}`),r}var ve=class extends r{#e;constructor(e){super(),this.#e=e}_transform(e,t,n){if(!this._inflateStream){if(e.length===0){n();return}this._inflateStream=(e[0]&15)==8?i.createInflate(this.#e):i.createInflateRaw(this.#e),this._inflateStream.on(`data`,this.push.bind(this)),this._inflateStream.on(`end`,()=>this.push(null)),this._inflateStream.on(`error`,e=>this.destroy(e))}this._inflateStream.write(e,t,n)}_final(e){this._inflateStream&&=(this._inflateStream.end(),null),e()}};function ye(e){return new ve(e)}function be(e){let t=null,n=null,r=null,i=Se(`content-type`,e);if(i===null)return`failure`;for(let e of i){let i=u(e);i!==`failure`&&i.essence!==`*/*`&&(r=i,r.essence===n?!r.parameters.has(`charset`)&&t!==null&&r.parameters.set(`charset`,t):(t=null,r.parameters.has(`charset`)&&(t=r.parameters.get(`charset`)),n=r.essence))}return r??`failure`}function xe(e){let t=e,n={position:0},r=[],i=``;for(;n.position<t.length;){if(i+=y(e=>e!==`"`&&e!==`,`,t,n),n.position<t.length){if(t.charCodeAt(n.position)===34){if(i+=l(t,n),n.position<t.length)continue}else h(t.charCodeAt(n.position)===44),n.position++}i=b(i,!0,!0,e=>e===9||e===32),r.push(i),i=``}return r}function Se(e,t){let n=t.get(e,!0);return n===null?null:xe(n)}function Ce(e){return!1}function we(e){return!!(e.username||e.password)}function Te(e){return e!=null&&e!==`client`&&e!==`no-traversable`}var Ee=class{get baseUrl(){return c()}get origin(){return this.baseUrl?.origin}policyContainer=ee()};n.exports={isAborted:oe,isCancelled:se,isValidEncodedURL:C,ReadableStreamFrom:f,tryUpgradeRequestToAPotentiallyTrustworthyURL:ie,clampAndCoarsenConnectionTimingInfo:z,coarsenedSharedCurrentTime:B,determineRequestsReferrer:te,makePolicyContainer:ee,clonePolicyContainer:H,appendFetchMetadata:I,appendRequestOriginHeader:L,TAOCheck:F,corsCheck:P,crossOriginResourcePolicyCheck:N,createOpaqueTimingInfo:V,setRequestReferrerPolicyOnRedirect:M,isValidHTTPToken:p,requestBadPort:E,requestCurrentURL:T,responseURL:x,responseLocationURL:S,isURLPotentiallyTrustworthy:K,isValidReasonPhrase:O,sameOrigin:ae,normalizeMethod:ce,iteratorMixin:de,createIterator:ue,isValidHeaderName:k,isValidHeaderValue:A,isErrorLike:D,fullyReadBody:fe,readableStreamClose:pe,urlIsLocal:me,urlHasHttpsScheme:he,urlIsHttpHttpsScheme:J,readAllBytes:q,simpleRangeHeaderValue:ge,buildContentRange:_e,createInflate:ye,extractMimeType:be,getDecodeSplit:Se,environmentSettingsObject:new class{settingsObject=new Ee},isOriginIPPotentiallyTrustworthy:G,hasAuthenticationEntry:Ce,includesCredentials:we,isTraversableNavigable:Te}})),Es=t(((t,n)=>{var r={__proto__:null,"node:crypto":()=>e(`node:crypto`),"node:sqlite":()=>e(`node:sqlite`)};function i(e){try{return r[e](),!0}catch(e){if(e.code!==`ERR_UNKNOWN_BUILTIN_MODULE`&&e.code!==`ERR_NO_CRYPTO`)throw e;return!1}}var a=[`crypto`,`sqlite`];function o(e){if(a.includes(e))return i(`node:${e}`);throw TypeError(`unknown feature: ${e}`)}var s=new class{#e=new Map;clear(){this.#e.clear()}has(e){return this.#e.get(e)??this.#t(e)}set(e,t){if(a.includes(e)===!1)throw TypeError(`unknown feature: ${e}`);this.#e.set(e,t)}#t(e){let t=o(e);return this.#e.set(e,t),t}};n.exports.runtimeFeatures=s,n.exports.default=s})),Ds=t(((t,n)=>{var{iteratorMixin:r}=Ts(),{kEnumerableProperty:i}=$(),{webidl:a}=ws(),o=e(`node:util`),{runtimeFeatures:s}=Es(),c=s.has(`crypto`)?e(`node:crypto`).randomInt:e=>Math.floor(Math.random()*e),l=class e{#e=[];#t=null;constructor(e=void 0){if(a.util.markAsUncloneable(this),e!==void 0)throw a.errors.conversionFailed({prefix:`FormData constructor`,argument:`Argument 1`,types:[`undefined`]})}append(t,n,r=void 0){a.brandCheck(this,e);let i=`FormData.append`;a.argumentLengthCheck(arguments,2,i),t=a.converters.USVString(t),arguments.length===3||a.is.Blob(n)?(n=a.converters.Blob(n,i,`value`),r!==void 0&&(r=a.converters.USVString(r))):n=a.converters.USVString(n);let o=p(t,n,r);this.#e.push(o)}delete(t){a.brandCheck(this,e),a.argumentLengthCheck(arguments,1,`FormData.delete`),t=a.converters.USVString(t),this.#e=this.#e.filter(e=>e.name!==t)}get(t){a.brandCheck(this,e),a.argumentLengthCheck(arguments,1,`FormData.get`),t=a.converters.USVString(t);let n=this.#e.findIndex(e=>e.name===t);return n===-1?null:this.#e[n].value}getAll(t){return a.brandCheck(this,e),a.argumentLengthCheck(arguments,1,`FormData.getAll`),t=a.converters.USVString(t),this.#e.filter(e=>e.name===t).map(e=>e.value)}has(t){return a.brandCheck(this,e),a.argumentLengthCheck(arguments,1,`FormData.has`),t=a.converters.USVString(t),this.#e.findIndex(e=>e.name===t)!==-1}set(t,n,r=void 0){a.brandCheck(this,e);let i=`FormData.set`;a.argumentLengthCheck(arguments,2,i),t=a.converters.USVString(t),arguments.length===3||a.is.Blob(n)?(n=a.converters.Blob(n,i,`value`),r!==void 0&&(r=a.converters.USVString(r))):n=a.converters.USVString(n);let o=p(t,n,r),s=this.#e.findIndex(e=>e.name===t);s===-1?this.#e.push(o):this.#e=[...this.#e.slice(0,s),o,...this.#e.slice(s+1).filter(e=>e.name!==t)]}[o.inspect.custom](e,t){let n=this.#e.reduce((e,t)=>(e[t.name]?Array.isArray(e[t.name])?e[t.name].push(t.value):e[t.name]=[e[t.name],t.value]:e[t.name]=t.value,e),{__proto__:null});t.depth??=e,t.colors??=!0;let r=o.formatWithOptions(t,n);return`FormData ${r.slice(r.indexOf(`]`)+2)}`}static getFormDataState(e){return e.#e}static setFormDataState(e,t){e.#e=t}static getFormDataBoundary(e){return e.#t??=`----formdata-undici-0${`${c(1e11)}`.padStart(11,`0`)}`}},{getFormDataState:u,setFormDataState:d,getFormDataBoundary:f}=l;Reflect.deleteProperty(l,`getFormDataState`),Reflect.deleteProperty(l,`setFormDataState`),Reflect.deleteProperty(l,`getFormDataBoundary`),r(`FormData`,l,u,`name`,`value`),Object.defineProperties(l.prototype,{append:i,delete:i,get:i,getAll:i,has:i,set:i,[Symbol.toStringTag]:{value:`FormData`,configurable:!0}});function p(e,t,n){if(typeof t!=`string`&&(a.is.File(t)||(t=new File([t],`blob`,{type:t.type})),n!==void 0)){let e={type:t.type,lastModified:t.lastModified};t=new File([t],n,e)}return{name:e,value:t}}a.is.FormData=a.util.MakeTypeAssertion(l),n.exports={FormData:l,makeEntry:p,setFormDataState:d,getFormDataBoundary:f}})),Os=t(((t,n)=>{var{bufferToLowerCasedHeaderName:r}=$(),{HTTP_TOKEN_CODEPOINTS:i}=Cs(),{makeEntry:a}=Ds(),{webidl:o}=ws(),s=e(`node:assert`),{isomorphicDecode:c}=Ss(),l=Buffer.from(`--`),u=new TextDecoder,d=new TextDecoder(`utf-8`,{ignoreBOM:!0});function f(e){for(let t=0;t<e.length;++t)if(e.charCodeAt(t)&-128)return!1;return!0}function p(e){let t=e.length;if(t<27||t>70)return!1;for(let n=0;n<t;++n){let t=e.charCodeAt(n);if(!(t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||t===39||t===45||t===95))return!1}return!0}function m(e,t){s(t!==`failure`&&t.essence===`multipart/form-data`);let n=t.parameters.get(`boundary`);if(n===void 0)throw b(`missing boundary in content-type header`);let r=Buffer.from(`--${n}`,`utf8`),i=[],c={position:0},u=e.indexOf(r);if(u===-1)throw b(`no boundary found in multipart body`);for(c.position=u;;){if(e.subarray(c.position,c.position+r.length).equals(r))c.position+=r.length;else throw b(`expected a value starting with -- and the boundary`);if(y(e,l,c))return i;if(e[c.position]!==13||e[c.position+1]!==10)throw b(`expected CRLF`);c.position+=2;let{name:t,filename:n,contentType:u,encoding:p}=g(e,c);c.position+=2;let m;{let t=e.indexOf(r.subarray(2),c.position);if(t===-1)throw b(`expected boundary after body`);m=e.subarray(c.position,t-4),c.position+=m.length,p===`base64`&&(m=Buffer.from(m.toString(),`base64`))}if(e[c.position]!==13||e[c.position+1]!==10)throw b(`expected CRLF`);c.position+=2;let h;n===null?h=d.decode(Buffer.from(m)):(u??=`text/plain`,f(u)||(u=``),h=new File([m],n,{type:u})),s(o.is.USVString(t)),s(typeof h==`string`&&o.is.USVString(h)||o.is.File(h)),i.push(a(t,h,n))}}function h(e,t){e[t.position]===59&&t.position++,_(e=>e===32||e===9,e,t);let n=_(e=>C(e)&&e!==61&&e!==42,e,t);if(n.length===0)return null;let r=n.toString(`ascii`).toLowerCase(),i=e[t.position]===42;if(i&&t.position++,e[t.position]!==61)return null;t.position++,_(e=>e===32||e===9,e,t);let a;if(i){let n=_(e=>e!==32&&e!==13&&e!==10&&e!==59,e,t);if(n[0]!==117&&n[0]!==85||n[1]!==116&&n[1]!==84||n[2]!==102&&n[2]!==70||n[3]!==45||n[4]!==56)throw b(`unknown encoding, expected utf-8''`);a=decodeURIComponent(u.decode(n.subarray(7)))}else if(e[t.position]===34){t.position++;let n=_(e=>e!==10&&e!==13&&e!==34,e,t);if(e[t.position]!==34)throw b(`Closing quote not found`);t.position++,a=u.decode(n).replace(/%0A/gi,`
21
+ `).replace(/%0D/gi,`\r`).replace(/%22/g,`"`)}else{let n=_(e=>C(e)&&e!==59,e,t);a=u.decode(n)}return{name:r,value:a,extended:i}}function g(e,t){let n=null,a=null,o=null,s=null;for(;;){if(e[t.position]===13&&e[t.position+1]===10){if(n===null)throw b(`header name is null`);return{name:n,filename:a,contentType:o,encoding:s}}let l=_(e=>e!==10&&e!==13&&e!==58,e,t);if(l=v(l,!0,!0,e=>e===9||e===32),!i.test(l.toString()))throw b(`header name does not match the field-name token production`);if(e[t.position]!==58)throw b(`expected :`);switch(t.position++,_(e=>e===32||e===9,e,t),r(l)){case`content-disposition`:{n=a=null;let r=!1;if(_(e=>C(e),e,t).toString(`ascii`).toLowerCase()!==`form-data`)throw b(`expected form-data for content-disposition header`);for(;t.position<e.length&&(e[t.position]!==13||e[t.position+1]!==10);){let i=h(e,t);if(!i)break;i.name===`name`?n=i.value:i.name===`filename`&&(i.extended?(a=i.value,r=!0):r||(a=i.value))}if(n===null)throw b(`name attribute is required in content-disposition header`);break}case`content-type`:{let n=_(e=>e!==10&&e!==13,e,t);n=v(n,!1,!0,e=>e===9||e===32),o=c(n);break}case`content-transfer-encoding`:{let n=_(e=>e!==10&&e!==13,e,t);n=v(n,!1,!0,e=>e===9||e===32),s=c(n);break}default:_(e=>e!==10&&e!==13,e,t)}if(e[t.position]!==13||e[t.position+1]!==10)throw b(`expected CRLF`);t.position+=2}}function _(e,t,n){let r=n.position;for(;r<t.length&&e(t[r]);)++r;return t.subarray(n.position,n.position=r)}function v(e,t,n,r){let i=0,a=e.length-1;if(t)for(;i<e.length&&r(e[i]);)i++;if(n)for(;a>0&&r(e[a]);)a--;return i===0&&a===e.length-1?e:e.subarray(i,a+1)}function y(e,t,n){if(e.length<t.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[n.position+r])return!1;return!0}function b(e){return TypeError(`Failed to parse body as FormData.`,{cause:TypeError(e)})}function x(e){return e<=31||e===127}function S(e){return e===40||e===41||e===60||e===62||e===64||e===44||e===59||e===58||e===92||e===34||e===47||e===91||e===93||e===63||e===61}function C(e){return e<=127&&e!==32&&e!==9&&!x(e)&&!S(e)}n.exports={multipartFormDataParser:m,validateBoundary:p}})),ks=t(((t,n)=>{var r=$(),{ReadableStreamFrom:i,readableStreamClose:a,fullyReadBody:o,extractMimeType:s}=Ts(),{FormData:c,setFormDataState:l,getFormDataBoundary:u}=Ds(),{webidl:d}=ws(),f=e(`node:assert`),{isErrored:p,isDisturbed:m}=e(`node:stream`),{isUint8Array:h}=e(`node:util/types`),{serializeAMimeType:g}=Cs(),{multipartFormDataParser:_}=Os(),{parseJSONFromBytes:v}=Ss(),{utf8DecodeBytes:y}=xs(),{ReadableStreamTee:b}=e(`node:stream/web`),x=new TextEncoder;function S(){}var C=new FinalizationRegistry(e=>{let t=e.deref();t&&!t.locked&&!m(t)&&!p(t)&&t.cancel(`Response object has been garbage collected`).catch(S)});function w(e,t=!1){let n=null,o=null;n=d.is.ReadableStream(e)?e:d.is.Blob(e)?e.stream():new ReadableStream({pull(){},start(e){o=e},cancel(){},type:`bytes`}),f(d.is.ReadableStream(n));let s=null,c=null,l=null,m=null;if(typeof e==`string`)c=e,m=`text/plain;charset=UTF-8`;else if(d.is.URLSearchParams(e))c=e.toString(),m=`application/x-www-form-urlencoded;charset=UTF-8`;else if(d.is.BufferSource(e))c=d.util.getCopyOfBytesHeldByBufferSource(e);else if(d.is.FormData(e)){let t=u(e),n=`--${t}\r\nContent-Disposition: form-data`,r=e=>e.replace(/\n/g,`%0A`).replace(/\r/g,`%0D`).replace(/"/g,`%22`),i=e=>e.replace(/\r?\n|\r/g,`\r
22
+ `),a=[],o=new Uint8Array([13,10]);l=0;let d=!1;for(let[t,s]of e)if(typeof s==`string`){let e=x.encode(n+`; name="${r(i(t))}"\r\n\r\n${i(s)}\r\n`);a.push(e),l+=e.byteLength}else{let e=x.encode(`${n}; name="${r(i(t))}"`+(s.name?`; filename="${r(s.name)}"`:``)+`\r
23
+ Content-Type: ${s.type||`application/octet-stream`}\r\n\r\n`);a.push(e,s,o),typeof s.size==`number`?l+=e.byteLength+s.size+o.byteLength:d=!0}let f=x.encode(`--${t}--\r\n`);a.push(f),l+=f.byteLength,d&&(l=null),c=e,s=async function*(){for(let e of a)e.stream?yield*e.stream():yield e},m=`multipart/form-data; boundary=${t}`}else if(d.is.Blob(e))c=e,l=e.size,e.type&&(m=e.type);else if(typeof e[Symbol.asyncIterator]==`function`){if(t)throw TypeError(`keepalive`);if(r.isDisturbed(e)||e.locked)throw TypeError(`Response body object should not be disturbed or locked`);n=d.is.ReadableStream(e)?e:i(e)}return(typeof c==`string`||h(c))&&(s=()=>(l=typeof c==`string`?Buffer.byteLength(c):c.length,c)),s!=null&&(async()=>{let e=s(),t=e?.[Symbol.asyncIterator]?.();if(t)for await(let e of t){if(p(n))break;e.length&&o.enqueue(new Uint8Array(e))}else e?.length&&!p(n)&&o.enqueue(typeof e==`string`?x.encode(e):new Uint8Array(e));queueMicrotask(()=>a(o))})(),[{stream:n,source:c,length:l},m]}function T(e,t=!1){return d.is.ReadableStream(e)&&(f(!r.isDisturbed(e),`The body has already been consumed.`),f(!e.locked,`The stream is locked.`)),w(e,t)}function E(e){let{0:t,1:n}=b?.(e.stream,!0)??e.stream.tee();return e.stream=t,{stream:n,length:e.length,source:e.source}}function D(e,t){return{blob(){return k(this,e=>{let n=j(t(this));return n===null?n=``:n&&=g(n),new Blob([e],{type:n})},e,t)},arrayBuffer(){return k(this,e=>new Uint8Array(e).buffer,e,t)},text(){return k(this,y,e,t)},json(){return k(this,v,e,t)},formData(){return k(this,e=>{let n=j(t(this));if(n!==null)switch(n.essence){case`multipart/form-data`:{let t=_(e,n),r=new c;return l(r,t),r}case`application/x-www-form-urlencoded`:{let t=new URLSearchParams(e.toString()),n=new c;for(let[e,r]of t)n.append(e,r);return n}}throw TypeError(`Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".`)},e,t)},bytes(){return k(this,e=>new Uint8Array(e),e,t)},textStream(){let e=t(this);if(A(e))throw TypeError(`Body is unusable: Body has already been read`);if(e.body==null){let e,t=new ReadableStream({start:t=>{e=t},pull:()=>Promise.resolve(),cancel:()=>Promise.resolve()},{size:()=>1});return e.close(),t}let n=e.body.stream,r=new TextDecoderStream(`UTF-8`);return n.pipeThrough(r)}}}function O(e,t){Object.assign(e.prototype,D(e,t))}function k(e,t,n,r){try{d.brandCheck(e,n)}catch(e){return Promise.reject(e)}if(e=r(e),A(e))return Promise.reject(TypeError(`Body is unusable: Body has already been read`));let i=Promise.withResolvers(),a=i.reject,s=e=>{try{i.resolve(t(e))}catch(e){a(e)}};return e.body==null?(s(Buffer.allocUnsafe(0)),i.promise):(o(e.body,s,a),i.promise)}function A(e){let t=e.body;return t!=null&&(t.stream.locked||r.isDisturbed(t.stream))}function j(e){let t=e.headersList,n=s(t);return n===`failure`?null:n}n.exports={extractBody:w,safelyExtractBody:T,cloneBody:E,mixinBody:O,streamRegistry:C,bodyUnusable:A}})),As=t(((t,n)=>{var r=e(`node:assert`),i=$(),{channels:a}=us(),o=os(),{RequestContentLengthMismatchError:s,ResponseContentLengthMismatchError:c,RequestAbortedError:l,InvalidArgumentError:u,HeadersTimeoutError:d,HeadersOverflowError:f,SocketError:p,InformationalError:m,BodyTimeoutError:h,HTTPParserError:g,ResponseExceededMaxSizeError:_}=Q(),{kUrl:v,kReset:y,kClient:b,kParser:x,kBlocking:S,kRunning:C,kPending:w,kSize:T,kWriting:E,kQueue:D,kNoRef:O,kKeepAliveDefaultTimeout:k,kHostHeader:A,kPendingIdx:j,kRunningIdx:M,kError:N,kPipelining:P,kSocket:F,kKeepAliveTimeoutValue:I,kMaxHeadersSize:L,kKeepAliveMaxTimeout:R,kKeepAliveTimeoutThreshold:z,kHeadersTimeout:B,kBodyTimeout:V,kStrictContentLength:ee,kMaxRequests:H,kCounter:te,kMaxResponseSize:U,kOnError:ne,kResume:W,kHTTPContext:G,kClosed:re}=Z(),K=gs(),ie=Buffer.alloc(0),ae=Buffer[Symbol.species],oe=i.removeAllListeners,se=Symbol(`kIdleSocketValidation`),ce=Symbol(`kIdleSocketValidationTimeout`),le=Symbol(`kSocketUsed`),ue=Symbol(`kTypeOfService`),de;function fe(){let e=process.env.JEST_WORKER_ID?_s():void 0,t,n=process.arch!==`ppc64`;if(process.env.UNDICI_NO_WASM_SIMD===`1`?n=!1:process.env.UNDICI_NO_WASM_SIMD===`0`&&(n=!0),n)try{t=new WebAssembly.Module(vs())}catch{}return t||=new WebAssembly.Module(e||_s()),new WebAssembly.Instance(t,{env:{wasm_on_url:(e,t,n)=>0,wasm_on_status:(e,t,n)=>{r(q.ptr===e);let i=t-J+me.byteOffset;return q.onStatus(new ae(me.buffer,i,n))},wasm_on_message_begin:e=>(r(q.ptr===e),q.onMessageBegin()),wasm_on_header_field:(e,t,n)=>{r(q.ptr===e);let i=t-J+me.byteOffset;return q.onHeaderField(new ae(me.buffer,i,n))},wasm_on_header_value:(e,t,n)=>{r(q.ptr===e);let i=t-J+me.byteOffset;return q.onHeaderValue(new ae(me.buffer,i,n))},wasm_on_headers_complete:(e,t,n,i)=>(r(q.ptr===e),q.onHeadersComplete(t,n===1,i===1)),wasm_on_body:(e,t,n)=>{r(q.ptr===e);let i=t-J+me.byteOffset;return q.onBody(new ae(me.buffer,i,n))},wasm_on_message_complete:e=>(r(q.ptr===e),q.onMessageComplete())}})}var pe=null,q=null,me=null,he=0,J=null,ge=null,_e=1,ve=3,ye=5,be=8,xe=class{constructor(e,t,{exports:n}){this.llhttp=n,this.ptr=this.llhttp.llhttp_alloc(K.TYPE.RESPONSE),this.client=e,this.socket=t,this.timeout=null,this.timeoutWeakRef=new WeakRef(this),this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText=``,this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=e[L],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive=``,this.contentLength=-1,this.connectionKeepAlive=!1,this.maxResponseSize=e[U]}setTimeout(e,t){e!==this.timeoutValue||t&_e^this.timeoutType&_e?(this.timeout&&=(o.clearTimeout(this.timeout),null),e&&(t&_e?this.timeout=o.setFastTimeout(Se,e,this.timeoutWeakRef):(this.timeout=setTimeout(Se,e,this.timeoutWeakRef),this.timeout?.unref())),this.timeoutValue=e):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=t}resume(){!this.socket.destroyed&&this.paused&&(r(this.ptr!=null),r(q===null),this.llhttp.llhttp_resume(this.ptr),r(this.timeoutType===ye),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||ie),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let e=this.socket.read();if(e===null)break;this.execute(e)}}execute(e){r(q===null),r(this.ptr!=null),r(!this.paused);let{socket:t,llhttp:n}=this;e.length>he&&(J&&n.free(J),he=Math.ceil(e.length/4096)*4096,J=n.malloc(he)),(ge===null||ge.buffer!==n.memory.buffer||ge.byteOffset!==J||ge.byteLength!==he)&&(ge=new Uint8Array(n.memory.buffer,J,he)),ge.set(e);try{let r;try{me=e,q=this,r=n.llhttp_execute(this.ptr,J,e.length)}finally{q=null,me=null}if(r!==K.ERROR.OK){let i=e.subarray(n.llhttp_get_error_pos(this.ptr)-J);if(r===K.ERROR.PAUSED_UPGRADE)this.onUpgrade(i);else if(r===K.ERROR.PAUSED)this.paused=!0,t.unshift(i);else throw this.createError(r,i)}}catch(e){i.destroy(t,e)}}finish(){r(q===null),r(this.ptr!=null);let{llhttp:e}=this;if(this.paused){let t;do e.llhttp_resume(this.ptr),this.paused=!1,t=this.socket.read()||ie,this.execute(t);while(this.paused&&t.length>0);this.paused&&=(e.llhttp_resume(this.ptr),!1)}let t;try{q=this,t=e.llhttp_finish(this.ptr)}finally{q=null}return t===K.ERROR.OK?null:t===K.ERROR.PAUSED||t===K.ERROR.PAUSED_UPGRADE?(this.paused=!0,null):this.createError(t,ie)}createError(e,t){let{llhttp:n,contentLength:r,bytesRead:i}=this;if(r!==-1&&i!==r)return new c;let a=n.llhttp_get_error_reason(this.ptr),o=``;if(a){let e=new Uint8Array(n.memory.buffer,a).indexOf(0);o=`Response does not match the HTTP/1.1 protocol (`+Buffer.from(n.memory.buffer,a,e).toString()+`)`}return new g(o,K.ERROR[e],t)}destroy(){r(q===null),r(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&o.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(e){return this.statusText=e.toString(),0}onMessageBegin(){let{socket:e,client:t}=this;if(e.destroyed)return-1;if(t[C]===0)return i.destroy(e,new p(`bad response`,i.getSocketInfo(e))),-1;let n=t[D][t[M]];return n?(n.onResponseStarted(),0):-1}onHeaderField(e){let t=this.headers.length;return t&1?this.headers[t-1]=Buffer.concat([this.headers[t-1],e]):this.headers.push(e),this.trackHeader(e.length),0}onHeaderValue(e){let t=this.headers.length;(t&1)==1?(this.headers.push(e),t+=1):this.headers[t-1]=Buffer.concat([this.headers[t-1],e]);let n=this.headers[t-2];if(n.length===10){let r=i.bufferToLowerCasedHeaderName(n);r===`keep-alive`?this.keepAlive+=e.toString():r===`connection`&&(this.connectionKeepAlive=this.headers[t-1].length===10&&i.bufferToLowerCasedHeaderName(this.headers[t-1])===`keep-alive`)}else if(n.length===14&&i.bufferToLowerCasedHeaderName(n)===`content-length`){this.contentLength===-1&&(this.contentLength=0);for(let t=0;t<e.length;t++)this.contentLength=this.contentLength*10+(e[t]-48)}return this.trackHeader(e.length),0}trackHeader(e){this.headersSize+=e,this.headersSize>=this.headersMaxSize&&i.destroy(this.socket,new f)}onUpgrade(e){let{upgrade:t,client:n,socket:a,headers:o,statusCode:s}=this;r(t),r(n[F]===a),r(!a.destroyed),r(!this.paused),r(!(o.length&1));let c=n[D][n[M]];r(c),r(c.upgrade||c.method===`CONNECT`),this.statusCode=0,this.statusText=``,this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,a.unshift(e),a[x].destroy(),a[x]=null,a[b]=null,a[N]=null,oe(a),n[F]=null,n[G]=null,n[D][n[M]++]=null,n.emit(`disconnect`,n[v],[n],new m(`upgrade`));try{c.onRequestUpgrade(s,o,a)}catch(e){i.destroy(a,e)}n[W]()}onHeadersComplete(e,t,n){let{client:a,socket:o,headers:s,statusText:c}=this;if(o.destroyed)return-1;if(a[C]===0)return i.destroy(o,new p(`bad response`,i.getSocketInfo(o))),-1;let l=a[D][a[M]];if(!l)return-1;if(r(!this.upgrade),r(this.statusCode<200),e===100)return i.destroy(o,new p(`bad response`,i.getSocketInfo(o))),-1;if(t&&!l.upgrade)return i.destroy(o,new p(`bad upgrade`,i.getSocketInfo(o))),-1;if(r(this.timeoutType===ve),this.statusCode=e,this.shouldKeepAlive=n||l.method===`HEAD`&&!o[y]&&this.connectionKeepAlive,this.statusCode>=200){let e=l.bodyTimeout==null?a[V]:l.bodyTimeout;this.setTimeout(e,ye)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(l.method===`CONNECT`||t)return r(a[C]===1),this.upgrade=!0,2;if(r(!(this.headers.length&1)),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&a[P]){let e=this.keepAlive?i.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){let t=Math.min(e-a[z],a[R]);t<=0?o[y]=!0:a[I]=t}else a[I]=a[k]}else o[y]=!0;let u=l.onResponseStart(e,s,this.resume,c)===!1;return l.aborted?-1:l.method===`HEAD`||e<200?1:(o[S]&&(o[S]=!1,a[W]()),u?K.ERROR.PAUSED:0)}onBody(e){let{client:t,socket:n,statusCode:a,maxResponseSize:o}=this;if(n.destroyed)return-1;let s=t[D][t[M]];return r(s),r(this.timeoutType===ye),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),r(a>=200),o>-1&&this.bytesRead+e.length>o?(i.destroy(n,new _),-1):(this.bytesRead+=e.length,s.onResponseData(e)===!1?K.ERROR.PAUSED:0)}onMessageComplete(){let{client:e,socket:t,statusCode:n,upgrade:a,headers:o,contentLength:s,bytesRead:l,shouldKeepAlive:u}=this;if(t.destroyed&&(!n||u))return-1;if(a)return 0;r(n>=100),r(!(this.headers.length&1));let d=e[D][e[M]];return r(d),this.statusCode=0,this.statusText=``,this.bytesRead=0,this.contentLength=-1,this.keepAlive=``,this.connectionKeepAlive=!1,this.headers=[],this.headersSize=0,n<200?0:d.method!==`HEAD`&&s!==-1&&l!==s?(i.destroy(t,new c),-1):(d.onResponseEnd(o),e[D][e[M]++]=null,t[le]=e[w]===0,t[E]?(r(e[C]===0),i.destroy(t,new m(`reset`)),K.ERROR.PAUSED):!u||t[y]&&e[C]===0?(i.destroy(t,new m(`reset`)),K.ERROR.PAUSED):(e[P]==null||e[P]===1?setImmediate(e[W]):e[W](),0))}};function Se(e){let t=e.deref();if(!t)return;let{socket:n,timeoutType:a,client:o,paused:s}=t;a===ve?(!n[E]||n.writableNeedDrain||o[C]>1)&&(r(!s,`cannot be paused while waiting for headers`),i.destroy(n,new d)):a===ye?s||i.destroy(n,new h):a===be&&(r(o[C]===0&&o[I]),i.destroy(n,new m(`socket idle timeout`)))}function Ce(e,t){if(e[F]=t,pe||=fe(),t.errored)throw t.errored;if(t.destroyed)throw new p(`destroyed`);return t[O]=!1,t[E]=!1,t[y]=!1,t[S]=!1,t[se]=0,t[ce]=null,t[le]=!1,t[x]=new xe(e,t,pe),i.addListener(t,`error`,we),i.addListener(t,`readable`,Te),i.addListener(t,`end`,Ee),i.addListener(t,`close`,De),t[re]=!1,t.on(`close`,Oe),{version:`h1`,defaultPipelining:1,write(t){return Pe(e,t)},resume(){je(e)},destroy(e,n){t[re]?queueMicrotask(n):(t.on(`close`,n),t.destroy(e))},get destroyed(){return t.destroyed},busy(n){return!!(t[E]||t[y]||t[S]||t[se]===1||n&&(e[C]>0&&!n.idempotent||e[C]>0&&(n.upgrade||n.method===`CONNECT`)||e[C]>0&&i.bodyLength(n.body)!==0&&(i.isStream(n.body)||i.isAsyncIterable(n.body)||i.isFormDataLike(n.body))))}}}function we(e){r(e.code!==`ERR_TLS_CERT_ALTNAME_INVALID`);let t=this[x];if(e.code===`ECONNRESET`&&t.statusCode&&!t.shouldKeepAlive){let e=t.finish();e&&(this[N]=e,this[b][ne](e));return}this[N]=e,this[b][ne](e)}function Te(){this[x]?.readMore()}function Ee(){let e=this[x];if(e.statusCode&&!e.shouldKeepAlive){let t=e.finish();t&&i.destroy(this,t);return}i.destroy(this,new p(`other side closed`,i.getSocketInfo(this)))}function De(){let e=this[x];ke(this),e&&(!this[N]&&e.statusCode&&!e.shouldKeepAlive&&(this[N]=e.finish()||this[N]),this[x].destroy(),this[x]=null);let t=this[N]||new p(`closed`,i.getSocketInfo(this)),n=this[b];if(n[F]=null,n[G]=null,n.destroyed){r(n[w]===0);let e=n[D].splice(n[M]);for(let r=0;r<e.length;r++){let a=e[r];i.errorRequest(n,a,t)}}else if(n[C]>0&&t.code!==`UND_ERR_INFO`){let e=n[D][n[M]];n[D][n[M]++]=null,i.errorRequest(n,e,t)}n[j]=n[M],r(n[C]===0),n.emit(`disconnect`,n[v],[n],t),n[W]()}function Oe(){this[re]=!0}function ke(e){e[ce]&&(clearImmediate(e[ce]),e[ce]=null),e[se]=0}function Ae(e,t){t[se]=1,t[ce]=setImmediate(()=>{t[ce]=null,t[se]=2,e[F]===t&&!t.destroyed&&e[W]()})}function je(e){let t=e[F];if(t&&!t.destroyed){if(e[T]===0?!t[O]&&t.unref&&(t.unref(),t[O]=!0):t[O]&&t.ref&&(t.ref(),t[O]=!1),e[C]===0&&e[w]>0&&t[le]){if(t[se]===0){Ae(e,t),t[x].readMore(),t.destroyed;return}if(t[se]===1){t[x].readMore(),t.destroyed;return}}if(e[C]===0&&(t[x].readMore(),t.destroyed))return;if(e[T]===0)t[x].timeoutType!==be&&t[x].setTimeout(e[I],be);else if(e[C]>0&&t[x].statusCode<200&&t[x].timeoutType!==ve){let n=e[D][e[M]],r=n.headersTimeout==null?e[B]:n.headersTimeout;t[x].setTimeout(r,ve)}}}function Me(e){return e!==`GET`&&e!==`HEAD`&&e!==`OPTIONS`&&e!==`TRACE`&&e!==`CONNECT`}function Ne(e,t){if(typeof e.setTypeOfService!=`function`)return;let n=t.typeOfService;if(n!==void 0&&e[ue]!==n)try{e.setTypeOfService(n),e[ue]=n}catch{}}function Pe(e,t){let{method:n,path:o,host:c,upgrade:d,blocking:f,reset:p}=t,{body:h,headers:g,contentLength:_}=t,v=n===`PUT`||n===`POST`||n===`PATCH`||n===`QUERY`||n===`PROPFIND`||n===`PROPPATCH`;if(i.isFormDataLike(h)){de||=ks().extractBody;let[e,n]=de(h);t.contentType??g.push(`content-type`,n),h=e.stream,_=e.length}else if(i.isBlobLike(h)&&t.contentType==null){let n=h.type;if(n){let r=`${n}`;if(!i.isValidHeaderValue(r))return i.errorRequest(e,t,new u(`invalid content-type header`)),!1;g.push(`content-type`,r)}}h&&typeof h.read==`function`&&h.read(0);let b=i.bodyLength(h);if(_=b??_,_===null&&(_=t.contentLength),_===0&&!v&&(_=null),Me(n)&&_>0&&t.contentLength!==null&&t.contentLength!==_){if(e[ee])return i.errorRequest(e,t,new s),!1;process.emitWarning(new s)}let x=e[F];ke(x);let C=n=>{t.aborted||t.completed||(i.errorRequest(e,t,n||new l),i.destroy(h),i.destroy(x,new m(`aborted`)))};try{t.onRequestStart(C,null)}catch(n){i.errorRequest(e,t,n)}if(t.aborted)return!1;n===`HEAD`&&(x[y]=!0),(d||n===`CONNECT`)&&(x[y]=!0),p!=null&&(x[y]=p),e[H]&&++x[te]>=e[H]&&(x[y]=!0),f&&(x[S]=!0),Ne(x,t);let w=`${n} ${o} HTTP/1.1\r\n`;if(w+=typeof c==`string`?`host: ${c}\r\n`:e[A],d?w+=`connection: upgrade\r\nupgrade: ${d}\r\n`:e[P]&&!x[y]?w+=`connection: keep-alive\r
24
+ `:w+=`connection: close\r
25
+ `,Array.isArray(g))for(let e=0;e<g.length;e+=2){let t=g[e+0],n=g[e+1];if(Array.isArray(n))for(let e=0;e<n.length;e++)w+=`${t}: ${n[e]}\r\n`;else w+=`${t}: ${n}\r\n`}return a.sendHeaders.hasSubscribers&&a.sendHeaders.publish({request:t,headers:w,socket:x}),!h||b===0?Ie(C,null,e,t,x,_,w,v):i.isBuffer(h)?Ie(C,h,e,t,x,_,w,v):i.isBlobLike(h)?typeof h.stream==`function`?Re(C,h.stream(),e,t,x,_,w,v):Le(C,h,e,t,x,_,w,v):i.isStream(h)?Fe(C,h,e,t,x,_,w,v):i.isIterable(h)?Re(C,h,e,t,x,_,w,v):r(!1),!0}function Fe(e,t,n,a,o,s,c,u){r(s!==0||n[C]===0,`stream body cannot be pipelined`);let d=!1,f=new ze({abort:e,socket:o,request:a,contentLength:s,client:n,expectsPayload:u,header:c}),p=function(e){if(!d)try{!f.write(e)&&this.pause&&this.pause()}catch(e){i.destroy(this,e)}},m=function(){d||t.resume&&t.resume()},h=function(){if(queueMicrotask(()=>{t.removeListener(`error`,g)}),!d){let e=new l;queueMicrotask(()=>g(e))}},g=function(e){if(!d){if(d=!0,r(o.destroyed||o[E]&&n[C]<=1),o.off(`drain`,m).off(`error`,g),t.removeListener(`data`,p).removeListener(`end`,g).removeListener(`close`,h),!e)try{f.end()}catch(t){e=t}f.destroy(e),e&&(e.code!==`UND_ERR_INFO`||e.message!==`reset`)?i.destroy(t,e):i.destroy(t)}};t.on(`data`,p).on(`end`,g).on(`error`,g).on(`close`,h),t.resume&&t.resume(),o.on(`drain`,m).on(`error`,g),t.errorEmitted??t.errored?setImmediate(g,t.errored):(t.endEmitted??t.readableEnded)&&setImmediate(g,null),(t.closeEmitted??t.closed)&&setImmediate(h)}function Ie(e,t,n,a,o,s,c,l){try{t?i.isBuffer(t)&&(r(s===t.byteLength,`buffer body must have content length`),o.cork(),o.write(`${c}content-length: ${s}\r\n\r\n`,`latin1`),o.write(t),o.uncork(),a.onBodySent(t),!l&&a.reset!==!1&&(o[y]=!0)):s===0?o.write(`${c}content-length: 0\r\n\r\n`,`latin1`):(r(s===null,`no body must not have content length`),o.write(`${c}\r\n`,`latin1`)),a.onRequestSent(),n[W]()}catch(t){e(t)}}async function Le(e,t,n,r,i,a,o,c){try{if(a!=null&&a!==t.size)throw new s;let e=Buffer.from(await t.arrayBuffer());i.cork(),i.write(`${o}content-length: ${a}\r\n\r\n`,`latin1`),i.write(e),i.uncork(),r.onBodySent(e),r.onRequestSent(),!c&&r.reset!==!1&&(i[y]=!0),n[W]()}catch(t){e(t)}}async function Re(e,t,n,i,a,o,s,c){r(o!==0||n[C]===0,`iterator body cannot be pipelined`);let l=null;function u(){if(l){let e=l;l=null,e()}}let d=()=>new Promise((e,t)=>{r(l===null),a[N]?t(a[N]):l=e});a.on(`close`,u).on(`drain`,u);let f=new ze({abort:e,socket:a,request:i,contentLength:o,client:n,expectsPayload:c,header:s});try{for await(let e of t){if(a[N])throw a[N];f.write(e)||await d()}f.end()}catch(e){f.destroy(e)}finally{a.off(`close`,u).off(`drain`,u)}}var ze=class{constructor({abort:e,socket:t,request:n,contentLength:r,client:i,expectsPayload:a,header:o}){this.socket=t,this.request=n,this.contentLength=r,this.client=i,this.bytesWritten=0,this.expectsPayload=a,this.header=o,this.abort=e,t[E]=!0}write(e){let{socket:t,request:n,contentLength:r,client:i,bytesWritten:a,expectsPayload:o,header:c}=this;if(t[N])throw t[N];if(t.destroyed)return!1;let l=e instanceof Uint8Array?e.byteLength:Buffer.byteLength(e);if(!l)return!0;if(r!==null&&a+l>r){if(i[ee])throw new s;process.emitWarning(new s)}t.cork(),a===0&&(!o&&n.reset!==!1&&(t[y]=!0),r===null?t.write(`${c}transfer-encoding: chunked\r\n`,`latin1`):t.write(`${c}content-length: ${r}\r\n\r\n`,`latin1`)),r===null&&t.write(`\r\n${l.toString(16)}\r\n`,`latin1`),this.bytesWritten+=l;let u=t.write(e);return t.uncork(),n.onBodySent(e),u||t[x].timeout&&t[x].timeoutType===ve&&t[x].timeout.refresh&&t[x].timeout.refresh(),u}end(){let{socket:e,contentLength:t,client:n,bytesWritten:r,expectsPayload:i,header:a,request:o}=this;if(o.onRequestSent(),e[E]=!1,e[N])throw e[N];if(!e.destroyed){if(r===0?i?e.write(`${a}content-length: 0\r\n\r\n`,`latin1`):e.write(`${a}\r\n`,`latin1`):t===null&&e.write(`\r
26
+ 0\r
27
+ \r
28
+ `,`latin1`),t!==null&&r!==t){if(n[ee])throw new s;process.emitWarning(new s)}e[x].timeout&&e[x].timeoutType===ve&&e[x].timeout.refresh&&e[x].timeout.refresh(),n[W]()}}destroy(e){let{socket:t,client:n,abort:i}=this;t[E]=!1,e&&(r(n[C]<=1,`pipeline should only contain this request`),i(e))}};n.exports=Ce})),js=t(((t,n)=>{var r=e(`node:assert`),{pipeline:i}=e(`node:stream`),a=$(),{RequestContentLengthMismatchError:o,RequestAbortedError:s,SocketError:c,InformationalError:l,InvalidArgumentError:u,HeadersTimeoutError:d,BodyTimeoutError:f,ResponseExceededMaxSizeError:p}=Q(),{kUrl:m,kReset:h,kClient:g,kRunning:_,kPending:v,kQueue:y,kPendingIdx:b,kRunningIdx:x,kError:S,kSocket:C,kStrictContentLength:w,kOnError:T,kMaxConcurrentStreams:E,kHTTP2Session:D,kHostAuthority:O,kResume:k,kSize:A,kHTTPContext:j,kClosed:M,kKeepAliveDefaultTimeout:N,kHeadersTimeout:P,kBodyTimeout:F,kEnableConnectProtocol:I,kRemoteSettings:L,kHTTP2Stream:R,kHTTP2SessionState:z,kHTTP2Options:B,kMaxResponseSize:V}=Z(),{channels:ee}=us(),H=Symbol(`open streams`),te=Symbol(`request stream id`),U=Symbol(`request stream`),ne=Symbol(`request stream cleanup`),W=Symbol(`request stream state`),G=Symbol(`received goaway`),re=Symbol(`goaway replay attempts`),K=Symbol(`refused stream retry`),ie=1,ae,oe;try{oe=e(`node:http2`)}catch{oe={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:se,HTTP2_HEADER_METHOD:ce,HTTP2_HEADER_PATH:le,HTTP2_HEADER_SCHEME:ue,HTTP2_HEADER_CONTENT_LENGTH:de,HTTP2_HEADER_EXPECT:fe,HTTP2_HEADER_STATUS:pe,HTTP2_HEADER_PROTOCOL:q,NGHTTP2_NO_ERROR:me,NGHTTP2_REFUSED_STREAM:he}}=oe;function J(e,t){return e[S]||(t===me?new l(`HTTP/2: "GOAWAY" frame received with code ${t}`):new c(`HTTP/2: "GOAWAY" frame received with code ${t}`,a.getSocketInfo(e[C])))}function ge(e,t){let n=e[g],r=e[C];if(n[D]===e&&(n[C]=null,n[j]=null,n[D]=null),r!=null&&r[S]==null&&(r[S]=t),!e.closed&&!e.destroyed)try{e.destroy(t)}catch{}a.destroy(r,t)}function _e(e,t){let n=Number.isInteger(t)?t:2**53-1;for(let t=e[x];t<e[b];t++){let r=e[y][t];if(r!=null&&(typeof r[te]!=`number`||r[te]>n))return t}return e[b]}function ve(e){e[te]=null,e[U]=null,e[ne]=null}function ye(e,t,n){let r=e[ne],i=e[U];ve(e),r?.(i),e[te]=t.id,e[U]=t,e[ne]=n}function be(e){let t=e[ne],n=e[U];ve(e),t?.(n)}function xe(e,t){e[y].splice(e[b]+1,0,t)}function Se(e,t,n=!1){let r=e[y],i=e[x];if(i<e[b]&&r[i]===t){r[i]=null,e[x]=i+1;return}let a=r.indexOf(t,i);a===-1||a>=e[b]||(r.splice(a,1),e[b]--,n&&e[b]<e[x]&&(e[b]=e[x]))}function Ce(e){let{body:t}=e;return t==null||a.isBuffer(t)||a.isBlobLike(t)}function we(e){let t=(e[re]??0)+1;return e[re]=t,t<=ie}function Te(e,t=he){if(e!=null&&!e.destroyed&&!e.closed)try{e.close(t)}catch{}}function Ee(e){let t=e[U];return be(e),De(t),t}function De(e){e!=null&&e[W]!=null&&(e[W]=null,e.off(`close`,Qe),e.off(`close`,Ze),e[D]!=null&&Xe(e),!e.destroyed&&!e.closed&&e.once(`error`,Ye))}function Oe(e,t){e[C]=t;let n=e[B].sessionOptions?.initialWindowSize,r=e[B].connectionWindowSize,i=oe.connect(e[m],{createConnection:()=>t,peerMaxConcurrentStreams:e[B].maxConcurrentStreams,settings:{enablePush:!1,...n==null?null:{initialWindowSize:n}}});return e[C]=t,i[H]=0,i[g]=e,i[C]=t,i[z]={idleTimeout:null,noStreamsTimeout:null,refed:!0,ping:{interval:e[B].pingInterval===0?null:setInterval(Be,e[B].pingInterval,i).unref()}},i[G]=!1,i[I]=!1,i[L]=!1,r&&a.addListener(i,`connect`,Re.bind(i,r)),a.addListener(i,`error`,Ve),a.addListener(i,`frameError`,He),a.addListener(i,`goaway`,Ue),a.addListener(i,`close`,We),a.addListener(i,`remoteSettings`,ze),Ae(i),e[D]=i,t[D]=i,a.addListener(t,`error`,Ke),a.addListener(t,`end`,qe),a.addListener(t,`close`,Ge),t[M]=!1,t.on(`close`,Je),{version:`h2`,defaultPipelining:1/0,write(t){return dt(e,t)},resume(){je(e)},destroy(e,n){t[M]?queueMicrotask(n):t.destroy(e).on(`close`,n)},get destroyed(){return t.destroyed},busy(t){if(i[L]===!1&&e[_]>0||e[_]>=e[E])return!0;if(t!=null){if(e[_]>0){if((t.upgrade===`websocket`||t.method===`CONNECT`)&&i[L]===!1)return!0}else return(t.upgrade===`websocket`||t.method===`CONNECT`)&&i[L]===!1}return!1}}}function ke(e){let t=e[z];t.refed===!1&&(t.refed=!0,e.ref())}function Ae(e){let t=e[z];t.refed===!0&&(t.refed=!1,e.unref())}function je(e){let t=e[C],n=e[D];t?.destroyed===!1&&(e[A]===0||e[E]===0?Ae(n):ke(n),e[A]===0&&n[H]===0?Ie(n):Fe(n),e[E]===0&&e[_]===0&&e[v]>0?Ne(n):Me(n))}function Me(e){let t=e[z];t?.noStreamsTimeout!=null&&(clearTimeout(t.noStreamsTimeout),t.noStreamsTimeout=null)}function Ne(e){let t=e[g],n=e[z],r=t[P];r&&n.noStreamsTimeout==null&&(n.noStreamsTimeout=setTimeout(Pe,r,e).unref())}function Pe(e){let t=e[g],n=e[z];if(n.noStreamsTimeout=null,t[D]!==e||t[E]!==0||t[_]!==0||t[v]===0)return;let r=new d(`HTTP/2: server did not accept a new stream within ${t[P]}`),i=t[y].splice(t[b]);for(let e=0;e<i.length;e++)i[e]!=null&&a.errorRequest(t,i[e],r);e[S]=r,ge(e,r)}function Fe(e){let t=e[z];t?.idleTimeout!=null&&(clearTimeout(t.idleTimeout),t.idleTimeout=null)}function Ie(e){let t=e[g];if(t[D]!==e||e.closed||e.destroyed)return;if(e[H]!==0||t[A]!==0){Fe(e);return}let n=e[z];n.idleTimeout??=setTimeout(Le,t[N],e).unref()}function Le(e){let t=e[g],n=e[C],r=e[z];if(r.idleTimeout=null,t[D]!==e||e[H]!==0||t[A]!==0||e.closed||e.destroyed)return;let i=new l(`socket idle timeout`);n[S]=i,a.destroy(n,i)}function Re(e){try{typeof this.setLocalWindowSize==`function`&&this.setLocalWindowSize(e)}catch{}}function ze(e){if(this[g][E]=e.maxConcurrentStreams??this[g][E],this[L]===!0&&this[I]===!0&&e.enableConnectProtocol===!1){let e=new l(`HTTP/2: Server disabled extended CONNECT protocol against RFC-8441`);this[C][S]=e,this[g][T](e);return}this[I]=e.enableConnectProtocol??this[I],this[L]=!0,this[g][k]()}function Be(e){let t=e[z];if((e.closed||e.destroyed)&&t.ping.interval!=null){clearInterval(t.ping.interval),t.ping.interval=null;return}e.ping(n.bind(e));function n(e,t){let n=this[g],r=this[C];if(e!=null){let t=new l(`HTTP/2: "PING" errored - type ${e.message}`);r[S]=t,n[T](t)}else n.emit(`ping`,t)}}function Ve(e){r(e.code!==`ERR_TLS_CERT_ALTNAME_INVALID`),this[C][S]=e,!this[G]&&this[g][T](e)}function He(e,t,n){if(n===0){if(this[G])return;let n=new l(`HTTP/2: "frameError" received - type ${e}, code ${t}`);this[C][S]=n,this[g][T](n)}}function Ue(e,t){if(this[G])return;this[G]=!0;let n=J(this,e),r=this[g],i=r[b],o=_e(r,t),s=[],c=[];for(let e=o;e<i;e++){let t=r[y][e];t!=null&&(c.push(Ee(t)),Ce(t)&&we(t)?s.push(t):a.errorRequest(r,t,n))}for(let e=0;e<c.length;e++)Te(c[e]);if(o!==i){let e=r[y].slice(i);r[y].length=o,r[y].push(...s,...e)}r[D]===this&&(r[C]=null,r[j]=null,r[D]=null),Fe(this),Me(this),!this.closed&&!this.destroyed&&this.close(),r[b]=o,r.emit(`disconnect`,r[m],[r],n),r[k]()}function We(){let{[g]:e,[z]:t,[C]:n}=this,i=n[S]||this[S]||new c(`closed`,a.getSocketInfo(n));if(e[D]===this&&(e[C]=null,e[j]=null,e[D]=null),Fe(this),Me(this),t.ping.interval!=null&&(clearInterval(t.ping.interval),t.ping.interval=null),e.destroyed){r(e[v]===0);let t=e[y].splice(e[x]);for(let n=0;n<t.length;n++){let r=t[n];r!=null&&a.errorRequest(e,r,i)}}}function Ge(){let e=this[S]||new c(`closed`,a.getSocketInfo(this)),t=this[D],n=t[g];n[C]!==this&&(t[G]||n[D]!=null&&n[D]!==t)||(n[C]=null,n[j]=null,n[D]===t&&(n[D]=null),t.destroy(e),n[b]=n[x],r(n[_]===0),n.emit(`disconnect`,n[m],[n],e),n[k]())}function Ke(e){r(e.code!==`ERR_TLS_CERT_ALTNAME_INVALID`),this[S]=e,!this[D]?.[G]&&this[D]?.[g]?.[T](e)}function qe(){a.destroy(this,new c(`other side closed`,a.getSocketInfo(this)))}function Je(){this[M]=!0}function Ye(){}function Xe(e){let t=e[D];e[D]=null,--t[H],t[H]===0&&(Ae(t),Ie(t))}function Ze(){this.off(`error`,Ye);let e=this[W];this[W]=null,rt(e,new l(`HTTP/2: stream closed before response headers`)),Xe(this)}function Qe(){let e=this[W];e!=null&&(pt(this),e.pendingEnd&&!e.request.aborted&&!e.request.completed?e.request.onResponseEnd(e.trailers||{}):!e.request.aborted&&!e.request.completed&&a.errorRequest(e.client,e.request,new l(`HTTP/2: stream closed before the response was complete`)),lt(e),Xe(this),this[W]=null)}function $e(e){return e!==`GET`&&e!==`HEAD`&&e!==`OPTIONS`&&e!==`TRACE`&&e!==`CONNECT`}function et(e){let t={};for(let n=0;n<e.length;n+=2){let r=e[n+0],i=e[n+1],a=t[r];if(r===`cookie`){t[r]=a==null?i:Array.isArray(a)?(a.push(i),a):[a,i];continue}if(typeof i==`string`){t[r]=a?`${a}, ${i}`:i;continue}for(let e=0;e<i.length;e++)t[r]=t[r]?`${t[r]}, ${i[e]}`:i[e]}return t}function tt(e){e.off(`response`,st),e.off(`error`,it),e.off(`end`,at),e.off(`timeout`,ot),e.off(`error`,Ye)}function nt(e){if(e==null)return;let t=e[W];if(t==null)return;let{request:n}=t;n[U]===e&&ve(n),tt(e),!e.destroyed&&!e.closed&&e.once(`error`,Ye)}function rt(e,t){if(e==null)return;let{request:n}=e;e.responseReceived||n.aborted||n.completed||(nt(e.stream),e.abort(t,!0))}function it(){let e=this[W];typeof this.rstCode==`number`&&this.rstCode!==0?rt(e,new l(`HTTP/2: "stream error" received - code ${this.rstCode}`)):rt(e,new l(`HTTP/2: stream errored before response headers`))}function at(){rt(this[W],new l(`HTTP/2: stream half-closed (remote)`))}function ot(){let e=this[W];rt(e,new l(`HTTP/2: "stream timeout after ${e.headersTimeout}"`))}function st(e,t){let n=this,r=n[W],{request:i}=r;r.responseReceived=!0;let a=e[pe];delete e[pe],i.onRequestUpgrade(a,e,n),!(i.aborted||i.completed)&&(tt(n),ve(i),lt(r))}function ct(e,t){let{request:n,headersTimeout:r,session:i}=t;e[R]=!0,e[D]=i,e[W]=t,t.stream=e,ye(n,e,nt),e.once(`response`,st),e.on(`error`,it),e.once(`end`,at),e.on(`timeout`,ot),e.once(`close`,Ze),Fe(i),++i[H],e.setTimeout(r)}function lt(e,t=!1){e.requestFinalized||(e.requestFinalized=!0,Se(e.client,e.request,t),e.client[k]())}function ut(e,t,n,r,i,o){try{return n.request(i,o)}catch(i){if(i?.code===`ERR_HTTP2_INVALID_SESSION`||i?.code===`ERR_HTTP2_GOAWAY_SESSION`){let r=new c(i.message,a.getSocketInfo(n[C]));return r.cause=i,n[S]=r,ge(n,r),xe(e,t),null}let o=new l(i.message,{cause:i});return n[S]=o,n[C][S]=o,n.destroy(o),a.destroy(n[C],o),r(o),null}}function dt(e,t){let n=t.headersTimeout??e[P],i=t.bodyTimeout??e[F],c=e[D],{method:d,path:f,host:p,upgrade:m,expectContinue:h,signal:g,protocol:_,headers:v}=t;if(m!=null&&m!==`websocket`)return a.errorRequest(e,t,new u(`Custom upgrade "${m}" not supported over HTTP/2`)),!1;let y=et(v);y[se]=p||e[O],y[ce]=d;let b={abort:null,body:t.body,bytesRead:0,client:e,contentLength:null,expectsPayload:!1,maxResponseSize:e[V],request:t,headersTimeout:n,bodyTimeout:i,requestFinalized:!1,responseReceived:!1,bodySent:!1,pendingEnd:!1,trailers:null,session:c,stream:null},x=(n,r=!1)=>{if(!(t.aborted||t.completed)){if(n||=new s,a.errorRequest(e,t,n),b.stream!=null){be(t);let i=b.stream;i.close(),i.destroyed||a.destroy(i),e[T](n),lt(b,r)}a.destroy(b.body,n)}};b.abort=x;let S=null;try{t.onRequestStart(x,null)}catch(n){a.errorRequest(e,t,n)}if(t.aborted)return!1;if(m||d===`CONNECT`)return ke(c),m===`websocket`?c[I]===!1?(a.errorRequest(e,t,new l(`HTTP/2: Extended CONNECT protocol not supported by server`)),Ae(c),!1):(y[ce]=`CONNECT`,y[q]=`websocket`,y[le]=f,y[ue]=_===`ws:`||_===`wss:`?_===`ws:`?`http`:`https`:_===`http:`?`http`:`https`,S=ut(e,t,c,x,y,{endStream:!1,signal:g}),S==null?(Ae(c),!1):(ct(S,b),!0)):(S=ut(e,t,c,x,y,{endStream:!1,signal:g}),S==null?(Ae(c),!1):(ct(S,b),!0));y[le]=f,y[ue]=_===`http:`?`http`:`https`;let E=d===`PUT`||d===`POST`||d===`PATCH`||d===`QUERY`||d===`PROPFIND`||d===`PROPPATCH`,k=b.body;k&&typeof k.read==`function`&&k.read(0);let A=a.bodyLength(k);if(a.isFormDataLike(k)){ae??=ks().extractBody;let[e,t]=ae(k);y[`content-type`]=t,k=e.stream,A=e.length}if(A??=t.contentLength,A===0&&!E&&(A=null),$e(d)&&A>0&&t.contentLength!=null&&t.contentLength!==A){if(e[w])return a.errorRequest(e,t,new o),!1;process.emitWarning(new o)}if(A!=null&&(r(k||A===0,`no body must not have content length`),y[de]=`${A}`),ke(c),ee.sendHeaders.hasSubscribers){let e=``;for(let t in y)e+=`${t}: ${y[t]}\r\n`;ee.sendHeaders.publish({request:t,headers:e,socket:c[C]})}let j=k===null||A===0;return b.body=k,b.contentLength=A,b.expectsPayload=E,h&&(y[fe]=`100-continue`),S=ut(e,t,c,x,y,{endStream:j,signal:g}),S!=null&&(S[R]=!0,S[W]=b,b.stream=S,Fe(c),++c[H],n&&S.setTimeout(n),S[D]=c,S.on(`close`,Qe),ye(t,S,pt),h&&S.once(`continue`,wt),S.on(`response`,gt),S.on(`headers`,ht),S.on(`end`,_t),S.on(`error`,yt),S.on(`frameError`,bt),S.on(`aborted`,xt),(n||i)&&S.on(`timeout`,St),S.on(`trailers`,Ct),h||wt.call(S),!0)}function ft(e){e.off(`error`,Ye),e.off(`continue`,wt),e.off(`response`,gt),e.off(`headers`,ht),e.off(`end`,_t),e.off(`error`,yt),e.off(`frameError`,bt),e.off(`aborted`,xt),e.off(`timeout`,St),e.off(`trailers`,Ct),e.off(`data`,mt)}function pt(e){if(e==null)return;let t=e[W];if(t==null)return;let{request:n}=t;n[U]===e&&ve(n),!e.destroyed&&!e.closed&&(ft(e),e.once(`error`,Ye))}function mt(e){let t=this,n=t[W];if(n==null)return;let{request:r,maxResponseSize:i}=n;if(!(r.aborted||r.completed)){if(i>-1&&n.bytesRead+e.length>i){n.abort(new p);return}n.bytesRead+=e.length,r.onResponseData(e)===!1&&t.pause()}}function ht(e){let t=this[W];if(t==null)return;let{request:n}=t;if(n.aborted||n.completed)return;let r=e[pe];delete e[pe],n.onResponseStart(Number(r),e,Ye,``)}function gt(e){let t=this,n=t[W];if(n==null)return;let{request:r}=n;t.off(`response`,gt),n.body!=null&&!n.bodySent&&!t.writableEnded&&(t.removeListener(`continue`,wt),t.end());let i=e[pe];if(delete e[pe],r.onResponseStarted(),n.responseReceived=!0,(n.headersTimeout||n.bodyTimeout)&&t.setTimeout(n.bodyTimeout),r.aborted||r.completed){pt(t);return}r.onResponseStart(Number(i),e,t.resume.bind(t),``)===!1&&t.pause(),t.on(`data`,mt)}function _t(){let e=this,t=e[W];if(t==null)return;let{request:n}=t;e.off(`end`,_t),t.responseReceived?!n.aborted&&!n.completed&&(t.pendingEnd=!0,Qe.call(e)):t.abort(new l(`HTTP/2: stream half-closed (remote)`),!0)}function vt(e,t){let{client:n,request:r}=t;return t.responseReceived||r.aborted||r.completed||r[K]||!Ce(r)?!1:(r[K]=!0,Ee(r),t.stream=null,t.requestFinalized=!0,Se(n,r),n[y].splice(n[b],0,r),n[k](),!0)}function yt(e){let t=this,n=t[W];n!=null&&(t.off(`error`,yt),typeof t.rstCode==`number`&&t.rstCode!==me&&(e.http2ErrorCode=t.rstCode),!(t.rstCode===he&&vt(t,n))&&n.abort(e))}function bt(e,t){let n=this,r=n[W];r!=null&&(n.off(`frameError`,bt),r.abort(new l(`HTTP/2: "frameError" received - type ${e}, code ${t}`)))}function xt(){this.off(`data`,mt)}function St(){let e=this,t=e[W];if(t==null)return;e.off(`timeout`,St);let n=t.responseReceived?new f(`HTTP/2: "stream timeout after ${t.bodyTimeout}"`):new d(`HTTP/2: "headers timeout after ${t.headersTimeout}"`);t.abort(n)}function Ct(e){let t=this,n=t[W];if(n==null)return;let{request:r}=n;t.off(`trailers`,Ct),t.off(`data`,mt),!(r.aborted||r.completed)&&(n.trailers=e)}function wt(){let e=this,t=e[W];t.bodySent=!0;let{abort:n,body:i,client:o,contentLength:s,expectsPayload:c,request:l}=t;!i||s===0?Tt(n,e,null,o,l,o[C],s,c):a.isBuffer(i)?Tt(n,e,i,o,l,o[C],s,c):a.isBlobLike(i)?typeof i.stream==`function`?Ot(n,e,i.stream(),o,l,o[C],s,c):Dt(n,e,i,o,l,o[C],s,c):a.isStream(i)?Et(n,o[C],c,e,i,o,l,s):a.isIterable(i)?Ot(n,e,i,o,l,o[C],s,c):r(!1)}function Tt(e,t,n,i,o,s,c,l){try{n!=null&&a.isBuffer(n)&&(r(c===n.byteLength,`buffer body must have content length`),t.cork(),t.write(n),t.uncork(),t.end(),o.onBodySent(n)),l||(s[h]=!0),o.onRequestSent(),i[k]()}catch(t){e(t)}}function Et(e,t,n,o,s,c,l,u){r(u!==0||c[_]===0,`stream body cannot be pipelined`);let d=i(s,o,r=>{r?(a.destroy(d,r),e(r)):(a.removeAllListeners(d),l.onRequestSent(),n||(t[h]=!0),c[k]())});a.addListener(d,`data`,f);function f(e){l.onBodySent(e)}}async function Dt(e,t,n,r,i,a,s,c){try{if(s!=null&&s!==n.size)throw new o;let e=Buffer.from(await n.arrayBuffer());t.cork(),t.write(e),t.uncork(),t.end(),i.onBodySent(e),i.onRequestSent(),c||(a[h]=!0),r[k]()}catch(t){e(t)}}async function Ot(e,t,n,i,a,o,s,c){r(s!==0||i[_]===0,`iterator body cannot be pipelined`);let l=null;function u(){if(l){let e=l;l=null,e()}}let d=()=>new Promise((e,t)=>{r(l===null),o[S]?t(o[S]):l=e});t.on(`close`,u).on(`drain`,u);try{for await(let e of n){if(o[S])throw o[S];let n=t.write(e);a.onBodySent(e),n||await d()}t.end(),a.onRequestSent(),c||(o[h]=!0),i[k]()}catch(t){e(t)}finally{t.off(`close`,u).off(`drain`,u)}}n.exports=Oe})),Ms=t(((t,n)=>{var r=e(`node:assert`),i=e(`node:net`),a=e(`node:http`),o=$(),{ClientStats:s}=ls(),{channels:c}=us(),l=ds(),u=ps(),{InvalidArgumentError:d,InformationalError:f,ClientDestroyedError:p}=Q(),m=ms(),{kUrl:h,kServerName:g,kClient:_,kBusy:v,kConnect:y,kResuming:b,kRunning:x,kPending:S,kSize:C,kQueue:w,kConnected:T,kConnecting:E,kNeedDrain:D,kKeepAliveDefaultTimeout:O,kHostHeader:k,kPendingIdx:A,kRunningIdx:j,kError:M,kPipelining:N,kKeepAliveTimeoutValue:P,kMaxHeadersSize:F,kKeepAliveMaxTimeout:I,kKeepAliveTimeoutThreshold:L,kHeadersTimeout:R,kBodyTimeout:z,kStrictContentLength:B,kConnector:V,kMaxRequests:ee,kCounter:H,kClose:te,kDestroy:U,kDispatch:ne,kLocalAddress:W,kMaxResponseSize:G,kOnError:re,kHTTPContext:K,kMaxConcurrentStreams:ie,kHostAuthority:ae,kResume:oe,kHTTP2Options:se}=Z(),ce=As(),le=js(),ue=Symbol(`kClosedResolve`),de=a&&a.maxHeaderSize&&Number.isInteger(a.maxHeaderSize)&&a.maxHeaderSize>0?()=>a.maxHeaderSize:()=>{throw new d(`http module not available or http.maxHeaderSize invalid`)},fe=()=>{};function pe(e){return e[N]??e[K]?.defaultPipelining??1}var q=!1;function me(e){q!==!0&&(process.emitWarning(`Use h2Options.${e} instead. ${e} for H2 will be deprecated in future major.`,{code:`UNDICI-H2-OPTIONS`}),q=!0)}function he(e){return e[K]?.version===`h2`?e[ie]:pe(e)}var J=class extends u{constructor(e,{maxHeaderSize:t,headersTimeout:n,socketTimeout:r,requestTimeout:a,connectTimeout:s,bodyTimeout:c,idleTimeout:l,keepAlive:u,keepAliveTimeout:f,maxKeepAliveTimeout:p,keepAliveMaxTimeout:_,keepAliveTimeoutThreshold:v,socketPath:y,pipelining:x,tls:S,strictContentLength:C,maxCachedSessions:T,connect:E,maxRequestsPerClient:M,localAddress:H,maxResponseSize:te,autoSelectFamily:U,autoSelectFamilyAttemptTimeout:ne,maxConcurrentStreams:ie,allowH2:ce,useH2c:le,initialWindowSize:fe,connectionWindowSize:pe,pingInterval:q,webSocket:he,h2Options:J,eventSource:_e}={}){if(u!==void 0)throw new d(`unsupported keepAlive, use pipelining=0 instead`);if(r!==void 0)throw new d(`unsupported socketTimeout, use headersTimeout & bodyTimeout instead`);if(a!==void 0)throw new d(`unsupported requestTimeout, use headersTimeout & bodyTimeout instead`);if(l!==void 0)throw new d(`unsupported idleTimeout, use keepAliveTimeout instead`);if(p!==void 0)throw new d(`unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead`);if(t!=null){if(!Number.isInteger(t)||t<1)throw new d(`invalid maxHeaderSize`)}else t=de();if(y!=null&&typeof y!=`string`)throw new d(`invalid socketPath`);if(s!=null&&(!Number.isFinite(s)||s<0))throw new d(`invalid connectTimeout`);if(f!=null&&(!Number.isFinite(f)||f<=0))throw new d(`invalid keepAliveTimeout`);if(_!=null&&(!Number.isFinite(_)||_<=0))throw new d(`invalid keepAliveMaxTimeout`);if(v!=null&&!Number.isFinite(v))throw new d(`invalid keepAliveTimeoutThreshold`);if(n!=null&&(!Number.isInteger(n)||n<0))throw new d(`headersTimeout must be a positive integer or zero`);if(c!=null&&(!Number.isInteger(c)||c<0))throw new d(`bodyTimeout must be a positive integer or zero`);if(E!=null&&typeof E!=`function`&&typeof E!=`object`)throw new d(`connect must be a function or an object`);if(M!=null&&(!Number.isInteger(M)||M<0))throw new d(`maxRequestsPerClient must be a positive number`);if(H!=null&&(typeof H!=`string`||i.isIP(H)===0))throw new d(`localAddress must be valid string IP address`);if(te!=null&&(!Number.isInteger(te)||te<-1))throw new d(`maxResponseSize must be a positive number`);if(ne!=null&&(!Number.isInteger(ne)||ne<-1))throw new d(`autoSelectFamilyAttemptTimeout must be a positive number`);if(ce!=null&&typeof ce!=`boolean`)throw new d(`allowH2 must be a valid boolean value`);if(ce!==!1){if(J!=null){if(J.useH2c!=null&&typeof J.useH2c!=`boolean`)throw new d(`h2Options.useH2c must be a valid boolean value`);if(J.settings?.initialWindowSize!=null&&(!Number.isInteger(J.settings.initialWindowSize)||J.settings.initialWindowSize<1))throw new d(`h2Options.settings.initialWindowSize must be a positive integer, greater than 0`);if(J.maxConcurrentStreams!=null&&(!Number.isInteger(J.connectionWindowSize)||J.maxConcurrentStreams<1))throw new d(`h2Options.maxConcurrentStreams must be a positive integer, greater than 0`);if(J.connectionWindowSize!=null&&(!Number.isInteger(J.connectionWindowSize)||J.connectionWindowSize<1))throw new d(`h2Options.connectionWindowSize must be a positive integer, greater than 0`);if(J.pingInterval!=null&&(typeof J.pingInterval!=`number`||!Number.isInteger(J.pingInterval)||J.pingInterval<0))throw new d(`h2Options.pingInterval must be a positive integer, greater or equal to 0`)}else{if(le!=null&&typeof le!=`boolean`)throw me(`useH2c`),new d(`useH2c must be a valid boolean value`);if(ie!=null&&(typeof ie!=`number`||ie<1))throw me(`maxConcurrentStreams`),new d(`maxConcurrentStreams must be a positive integer, greater than 0`);if(fe!=null&&(!Number.isInteger(fe)||fe<1))throw me(`initialWindowSize`),new d(`initialWindowSize must be a positive integer, greater than 0`);if(pe!=null&&(!Number.isInteger(pe)||pe<1))throw me(`connectionWindowSize`),new d(`connectionWindowSize must be a positive integer, greater than 0`);if(q!=null&&(typeof q!=`number`||!Number.isInteger(q)||q<0))throw me(`pingInterval`),new d(`pingInterval must be a positive integer, greater or equal to 0`)}}if(super({webSocket:he,eventSource:_e}),typeof E!=`function`)E=m({...S,maxCachedSessions:T,allowH2:ce,socketPath:y,useH2c:J?.useH2c??le,timeout:s,...typeof U==`boolean`?{autoSelectFamily:U,autoSelectFamilyAttemptTimeout:ne}:void 0,...E});else{let e=E;E=(t,n)=>e({...t,...y==null?null:{socketPath:y},...ce==null?null:{allowH2:ce}},n)}this[h]=o.parseOrigin(e),this[ae]=`${this[h].hostname}${this[h].port?`:${this[h].port}`:``}`,this[V]=E,this[N]=x??1,this[F]=t,this[O]=f??4e3,this[I]=_??6e5,this[L]=v??2e3,this[P]=this[O],this[g]=null,this[W]=H??null,this[b]=0,this[D]=0,this[k]=`host: ${this[ae]}\r\n`,this[z]=c??3e5,this[R]=n??3e5,this[B]=C??!0,this[ee]=M,this[ue]=null,this[G]=te>-1?te:-1,this[K]=null,this[se]={pingInterval:J?.pingInterval??q??6e4,connectionWindowSize:J?.connectionWindowSize??pe??524288,maxConcurrentStreams:J?.maxConcurrentStreams??ie??100,sessionOptions:{initialWindowSize:J?.initialWindowSize??fe??262144}},this[w]=[],this[j]=0,this[A]=0,this[oe]=e=>be(this,e),this[re]=e=>ge(this,e)}get pipelining(){return this[N]}set pipelining(e){this[N]=e,this[oe](!0)}get stats(){return new s(this)}get[S](){return this[w].length-this[A]}get[x](){return this[A]-this[j]}get[C](){return this[w].length-this[j]}get[T](){return!!this[K]&&!this[E]&&!this[K].destroyed}get[v](){let e=this[K]?.version===`h2`;return!!(this[K]?.busy(null)||this[C]>=(he(this)||1)||this[S]>0&&!e)}[y](e){_e(this),this.once(`connect`,e)}[ne](e,t){let n=new l(this[h].origin,e,t);return this[w].push(n),this[b]||(o.bodyLength(n.body)==null&&o.isIterable(n.body)?(this[b]=1,queueMicrotask(()=>be(this))):this[oe](!0)),this[b]&&this[D]!==2&&this[v]&&(this[D]=2),this[D]<2}[te](){return new Promise(e=>{this[C]?this[ue]=e:e(null)})}[U](e){return new Promise(t=>{let n=this[w].splice(this[A]);for(let t=0;t<n.length;t++){let r=n[t];r!=null&&o.errorRequest(this,r,e)}let r=()=>{this[ue]&&(this[ue](),this[ue]=null),t(null)};this[K]?(this[K].destroy(e,r),this[K]=null):queueMicrotask(r),this[oe]()})}};function ge(e,t){if(e[x]===0&&t.code!==`UND_ERR_INFO`&&t.code!==`UND_ERR_SOCKET`){r(e[A]===e[j]);let n=e[w].splice(e[j]);for(let r=0;r<n.length;r++){let i=n[r];i!=null&&o.errorRequest(e,i,t)}r(e[C]===0)}}function _e(e){r(!e[E]),r(!e[K]);let{host:t,hostname:n,protocol:a,port:s}=e[h];if(n[0]===`[`){let e=n.indexOf(`]`);r(e!==-1);let t=n.substring(1,e);r(i.isIPv6(t)),n=t}e[E]=!0,c.beforeConnect.hasSubscribers&&c.beforeConnect.publish({connectParams:{host:t,hostname:n,protocol:a,port:s,version:e[K]?.version,servername:e[g],localAddress:e[W]},connector:e[V]});try{e[V]({host:t,hostname:n,protocol:a,port:s,servername:e[g],localAddress:e[W]},(i,l)=>{if(i){ve(e,i,{host:t,hostname:n,protocol:a,port:s}),e[oe]();return}if(e.destroyed){o.destroy(l.on(`error`,fe),new p),e[oe]();return}r(l);try{e[K]=l.alpnProtocol===`h2`?le(e,l):ce(e,l)}catch(r){l.destroy().on(`error`,fe),ve(e,r,{host:t,hostname:n,protocol:a,port:s}),e[oe]();return}e[E]=!1,l[H]=0,l[ee]=e[ee],l[_]=e,l[M]=null,c.connected.hasSubscribers&&c.connected.publish({connectParams:{host:t,hostname:n,protocol:a,port:s,version:e[K]?.version,servername:e[g],localAddress:e[W]},connector:e[V],socket:l}),e.emit(`connect`,e[h],[e]),e[oe]()})}catch(r){ve(e,r,{host:t,hostname:n,protocol:a,port:s}),e[oe]()}}function ve(e,t,{host:n,hostname:r,protocol:i,port:a}){if(!e.destroyed){if(e[E]=!1,c.connectError.hasSubscribers&&c.connectError.publish({connectParams:{host:n,hostname:r,protocol:i,port:a,version:e[K]?.version,servername:e[g],localAddress:e[W]},connector:e[V],error:t}),t.code===`ERR_TLS_CERT_ALTNAME_INVALID`){let n=e[w].splice(e[j],e[x]);e[A]=e[j];for(let r=0;r<n.length;r++)o.errorRequest(e,n[r],t);for(;e[S]>0&&e[w][e[A]].servername===e[g];){let n=e[w].splice(e[A],1)[0];o.errorRequest(e,n,t)}}else ge(e,t);e.emit(`connectionError`,e[h],[e],t)}}function ye(e){e[D]=0,e.emit(`drain`,e[h],[e])}function be(e,t){e[b]!==2&&(e[b]=2,xe(e,t),e[b]=0,e[j]>256&&(e[w].splice(0,e[j]),e[A]-=e[j],e[j]=0))}function xe(e,t){for(;;){if(e.destroyed){r(e[S]===0);return}if(e[ue]&&!e[C]){e[ue](),e[ue]=null;return}if(e[K]&&e[K].resume(),e[v])e[D]=2;else if(e[D]===2){t?(e[D]=1,queueMicrotask(()=>ye(e))):ye(e);continue}if(e[S]===0||e[x]>=(he(e)||1))return;let n=e[w][e[A]];if(n===null)return;if(e[h].protocol===`https:`&&e[g]!==n.servername){if(e[x]>0)return;e[g]=n.servername,e[K]?.destroy(new f(`servername changed`),()=>{e[K]=null,be(e)})}if(e[E])return;if(!e[K]){e[g]=n.servername,_e(e);return}if(e[K].destroyed||e[K].busy(n))return;!n.aborted&&e[K].write(n)?e[A]++:e[w].splice(e[A],1)}}n.exports=J})),Ns=t(((e,t)=>{var n=2048,r=2047,i=class{bottom=0;top=0;list=Array(n).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&r)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&r}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&r,e)}};t.exports=class{constructor(){this.head=this.tail=new i}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new i),this.head.push(e)}shift(){let e=this.tail,t=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next,e.next=null),t}}})),Ps=t(((e,t)=>{var{PoolStats:n}=ls(),r=ps(),i=Ns(),{kConnected:a,kSize:o,kRunning:s,kPending:c,kQueued:l,kBusy:u,kFree:d,kUrl:f,kClose:p,kDestroy:m,kDispatch:h}=Z(),g=Symbol(`clients`),_=Symbol(`needDrain`),v=Symbol(`queue`),y=Symbol(`closed resolve`),b=Symbol(`onDrain`),x=Symbol(`onConnect`),S=Symbol(`onDisconnect`),C=Symbol(`onConnectionError`),w=Symbol(`get dispatcher`),T=Symbol(`has dispatcher`),E=Symbol(`add client`),D=Symbol(`remove client`);t.exports={PoolBase:class extends r{[v]=new i;[l]=0;[g]=[];[_]=!1;[b](e,t,n){let r=this[v],i=!1;for(;!i;){let t=r.shift();if(!t)break;this[l]--,i=!e.dispatch(t.opts,t.handler)}if(e[_]=i,!i&&this[_]&&(this[_]=!1,this.emit(`drain`,t,[this,...n])),this[y]&&r.isEmpty()){let e=[];for(let t=0;t<this[g].length;t++){let n=this[g][t];n.destroyed||e.push(n.close())}return Promise.all(e).then(this[y])}}[x]=(e,t)=>{this.emit(`connect`,e,[this,...t])};[S]=(e,t,n)=>{this.emit(`disconnect`,e,[this,...t],n)};[C]=(e,t,n)=>{this.emit(`connectionError`,e,[this,...t],n)};get[u](){return this[_]}get[a](){let e=0;for(let{[a]:t}of this[g])e+=t;return e}get[d](){let e=0;for(let{[a]:t,[_]:n}of this[g])e+=t&&!n;return e}get[c](){let e=this[l];for(let{[c]:t}of this[g])e+=t;return e}get[s](){let e=0;for(let{[s]:t}of this[g])e+=t;return e}get[o](){let e=this[l];for(let{[o]:t}of this[g])e+=t;return e}get stats(){return new n(this)}[p](){if(this[v].isEmpty()){let e=[];for(let t=0;t<this[g].length;t++){let n=this[g][t];n.destroyed||e.push(n.close())}return Promise.all(e)}return new Promise(e=>{this[y]=e})}[m](e){for(;;){let t=this[v].shift();if(!t)break;t.handler.onResponseError(null,e)}let t=Array(this[g].length);for(let n=0;n<this[g].length;n++)t[n]=this[g][n].destroy(e);return Promise.all(t)}[h](e,t){let n=this[w]();return n?n.dispatch(e,t)||(n[_]=!0,this[_]=!this[T]()):(this[_]=!0,this[v].push({opts:e,handler:t}),this[l]++),!this[_]}[T](){for(let e=0;e<this[g].length;e++){let t=this[g][e];if(!t[_]&&t.closed!==!0&&t.destroyed!==!0)return!0}return!1}[E](e){return e.on(`drain`,this[b].bind(this,e)).on(`connect`,this[x]).on(`disconnect`,this[S]).on(`connectionError`,this[C]),this[g].push(e),this[_]&&queueMicrotask(()=>{this[_]&&this[b](e,e[f],[e,this])}),this}[D](e){let t=this[g].indexOf(e);t!==-1&&this[g].splice(t,1),e.close(()=>{}),this[_]=!this[g].some(e=>!e[_]&&e.closed!==!0&&e.destroyed!==!0)}},kClients:g,kNeedDrain:_,kAddClient:E,kRemoveClient:D,kGetDispatcher:w,kHasDispatcher:T}})),Fs=t(((e,t)=>{var{PoolBase:n,kClients:r,kNeedDrain:i,kAddClient:a,kGetDispatcher:o,kHasDispatcher:s,kRemoveClient:c}=Ps(),l=Ms(),{InvalidArgumentError:u}=Q(),d=$(),{kUrl:f}=Z(),p=ms(),m=Symbol(`options`),h=Symbol(`connections`),g=Symbol(`factory`);function _(e,t){return new l(e,t)}t.exports=class extends n{constructor(e,{connections:t,factory:n=_,connect:i,connectTimeout:a,tls:o,maxCachedSessions:s,socketPath:c,autoSelectFamily:l,autoSelectFamilyAttemptTimeout:v,allowH2:y,useH2c:b,clientTtl:x,...S}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new u(`invalid connections`);if(typeof n!=`function`)throw new u(`factory must be a function.`);if(i!=null&&typeof i!=`function`&&typeof i!=`object`)throw new u(`connect must be a function or an object`);typeof i!=`function`&&(i=p({...o,maxCachedSessions:s,allowH2:y,useH2c:b,socketPath:c,timeout:a,...typeof l==`boolean`?{autoSelectFamily:l,autoSelectFamilyAttemptTimeout:v}:void 0,...i})),super(S),this[h]=t||null,this[f]=d.parseOrigin(e),this[m]={...d.deepClone(S),connect:i,allowH2:y,useH2c:b,clientTtl:x,socketPath:c},this[g]=n,this.on(`connect`,(e,t)=>{if(x!=null&&x>0)for(let e of t)Object.assign(e,{ttl:Date.now()})}),this.on(`connectionError`,(e,t,n)=>{for(let e of t){let t=this[r].indexOf(e);t!==-1&&this[r].splice(t,1)}})}[o](){let e=this[m].clientTtl;for(let t=0;t<this[r].length;t++){let n=this[r][t];if(e!=null&&e>0&&n.ttl&&Date.now()-n.ttl>e)this[c](n),t--;else if(!n[i])return n}if(!this[h]||this[r].length<this[h]){let e=this[g](this[f],this[m]);return this[a](e),e}}[s](){let e=this[m].clientTtl;for(let t=0;t<this[r].length;t++){let n=this[r][t];if(e!=null&&e>0&&n.ttl&&Date.now()-n.ttl>e)this[c](n),t--;else if(!n[i])return!0}if(!this[h]||this[r].length<this[h]){let e=this[g](this[f],this[m]);return this[a](e),!0}return!1}}})),Is=t(((e,t)=>{var{BalancedPoolMissingUpstreamError:n,InvalidArgumentError:r}=Q(),{PoolBase:i,kClients:a,kNeedDrain:o,kAddClient:s,kRemoveClient:c,kGetDispatcher:l}=Ps(),u=Fs(),{kOriginless:d,kUrl:f}=Z(),p=$(),m=Symbol(`factory`),h=Symbol(`options`),g=Symbol(`kGreatestCommonDivisor`),_=Symbol(`kCurrentWeight`),v=Symbol(`kIndex`),y=Symbol(`kWeight`),b=Symbol(`kMaxWeightPerServer`),x=Symbol(`kErrorPenalty`);function S(e,t){if(e===0)return t;for(;t!==0;){let n=t;t=e%t,e=n}return e}function C(e,t){return new u(e,t)}t.exports=class extends i{constructor(e=[],{factory:t=C,connect:n,tls:i,...a}={}){if(typeof t!=`function`)throw new r(`factory must be a function.`);super(a),this[d]=!0,n&&typeof n!=`function`&&(n={...n}),i&&typeof i!=`function`&&(i={...i}),this[h]={...p.deepClone(a),connect:n,tls:i},this[v]=-1,this[_]=0,this[b]=this[h].maxWeightPerServer||100,this[x]=this[h].errorPenalty||15,Array.isArray(e)||(e=[e]),this[m]=t;for(let t of e)this.addUpstream(t);this._updateBalancedPoolStats()}addUpstream(e){let t=p.parseOrigin(e).origin;if(this[a].find(e=>e[f].origin===t&&e.closed!==!0&&e.destroyed!==!0))return this;let n=this[m](t,this[h]);this[s](n),n.on(`connect`,()=>{n[y]=Math.min(this[b],n[y]+this[x])}),n.on(`connectionError`,()=>{n[y]=Math.max(1,n[y]-this[x]),this._updateBalancedPoolStats()}),n.on(`disconnect`,(...e)=>{let t=e[2];t&&t.code===`UND_ERR_SOCKET`&&(n[y]=Math.max(1,n[y]-this[x]),this._updateBalancedPoolStats())});for(let e of this[a])e[y]=this[b];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let e=0;for(let t=0;t<this[a].length;t++)e=S(this[a][t][y],e);this[g]=e}removeUpstream(e){let t=p.parseOrigin(e).origin,n=this[a].find(e=>e[f].origin===t&&e.closed!==!0&&e.destroyed!==!0);return n&&this[c](n),this}getUpstream(e){let t=p.parseOrigin(e).origin;return this[a].find(e=>e[f].origin===t&&e.closed!==!0&&e.destroyed!==!0)}get upstreams(){return this[a].filter(e=>e.closed!==!0&&e.destroyed!==!0).map(e=>e[f].origin)}[l](){if(this[a].length===0)throw new n;let e=0,t=-1;for(;e++<this[a].length;){this[v]=(this[v]+1)%this[a].length;let e=this[a][this[v]];if(this[v]===0&&(this[_]=this[_]-this[g],this[_]<=0&&(this[_]=this[b])),!(e[o]||e.closed===!0||e.destroyed===!0)&&((t===-1||e[y]>this[a][t][y])&&(t=this[v]),e[y]>=this[_]))return e}if(t!==-1)return this[_]=this[a][t][y],this[v]=t,this[a][t]}}})),Ls=t(((e,t)=>{var{PoolBase:n,kClients:r,kNeedDrain:i,kAddClient:a,kGetDispatcher:o,kHasDispatcher:s,kRemoveClient:c}=Ps(),l=Ms(),{InvalidArgumentError:u}=Q(),d=$(),{kUrl:f}=Z(),p=ms(),m=Symbol(`options`),h=Symbol(`connections`),g=Symbol(`factory`),_=Symbol(`index`);function v(e,t){return new l(e,t)}t.exports=class extends n{constructor(e,{connections:t,factory:n=v,connect:i,connectTimeout:a,tls:o,maxCachedSessions:s,socketPath:c,autoSelectFamily:l,autoSelectFamilyAttemptTimeout:y,allowH2:b,clientTtl:x,...S}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new u(`invalid connections`);if(typeof n!=`function`)throw new u(`factory must be a function.`);if(i!=null&&typeof i!=`function`&&typeof i!=`object`)throw new u(`connect must be a function or an object`);typeof i!=`function`&&(i=p({...o,maxCachedSessions:s,allowH2:b,socketPath:c,timeout:a,...typeof l==`boolean`?{autoSelectFamily:l,autoSelectFamilyAttemptTimeout:y}:void 0,...i})),super(S),this[h]=t||null,this[f]=d.parseOrigin(e),this[m]={...d.deepClone(S),connect:i,allowH2:b,clientTtl:x,socketPath:c},this[g]=n,this[_]=-1,this.on(`connect`,(e,t)=>{if(x!=null&&x>0)for(let e of t)Object.assign(e,{ttl:Date.now()})}),this.on(`connectionError`,(e,t,n)=>{for(let e of t){let t=this[r].indexOf(e);t!==-1&&this[r].splice(t,1)}})}[o](){let e=this[m].clientTtl;if(this[r].length===0){let e=this[g](this[f],this[m]);return this[a](e),e}let t=0;for(;t<this[r].length;){this[_]=(this[_]+1)%this[r].length;let n=this[r][this[_]];if(e!=null&&e>0&&n.ttl&&Date.now()-n.ttl>e){this[c](n),this[_]--;continue}if(!n[i])return n;t++}if(!this[h]||this[r].length<this[h]){let e=this[g](this[f],this[m]);return this[a](e),e}}[s](){let e=this[m].clientTtl;for(let t=0;t<this[r].length;t++){let n=this[r][t];if(e!=null&&e>0&&n.ttl&&Date.now()-n.ttl>e)this[c](n),t<=this[_]&&this[_]--,t--;else if(!n[i])return!0}if(!this[h]||this[r].length<this[h]){let e=this[g](this[f],this[m]);return this[a](e),!0}return!1}}})),Rs=t(((e,t)=>{var{InvalidArgumentError:n,MaxOriginsReachedError:r}=Q(),{kBusy:i,kClients:a,kConnected:o,kRunning:s,kPending:c,kClose:l,kDestroy:u,kDispatch:d,kUrl:f}=Z(),p=ps(),m=Fs(),h=Ms(),g=$(),_=Symbol(`onConnect`),v=Symbol(`onDisconnect`),y=Symbol(`onConnectionError`),b=Symbol(`onDrain`),x=Symbol(`factory`),S=Symbol(`options`),C=Symbol(`origins`);function w(e,t){return t&&t.connections===1?new h(e,t):new m(e,t)}t.exports=class extends p{constructor({factory:e=w,maxOrigins:t=1/0,connect:r,...i}={}){if(typeof e!=`function`)throw new n(`factory must be a function.`);if(r!=null&&typeof r!=`function`&&typeof r!=`object`)throw new n(`connect must be a function or an object`);if(typeof t!=`number`||Number.isNaN(t)||t<=0)throw new n(`maxOrigins must be a number greater than 0`);super(i),r&&typeof r!=`function`&&(r={...r}),this[S]={...g.deepClone(i),maxOrigins:t,connect:r},this[x]=e,this[a]=new Map,this[C]=new Set,this[b]=(e,t)=>{this.emit(`drain`,e,[this,...t])},this[_]=(e,t)=>{this.emit(`connect`,e,[this,...t])},this[v]=(e,t,n)=>{this.emit(`disconnect`,e,[this,...t],n)},this[y]=(e,t,n)=>{this.emit(`connectionError`,e,[this,...t],n)}}get[s](){let e=0;for(let t of this[a].values())e+=t[s];return e}[d](e,t){let s;if(e.origin&&(typeof e.origin==`string`||e.origin instanceof URL))s=String(e.origin);else throw new n(`opts.origin must be a non-empty string or URL.`);let l=e.allowH2??this[S].allowH2,u=l===!1?`${s}#http1-only`:s;if(this[C].size>=this[S].maxOrigins&&!this[C].has(s))throw new r;let d=this[a].get(u);if(!d){d=this[x](e.origin,l===!1?{...this[S],allowH2:!1}:this[S]);let t=()=>{if(this[a].get(u)!==d||d[o]>0||d[i]||d[c]>0)return;this[a].delete(u),d.destroyed||d.close();let e=!1;for(let t of this[a].keys())if(t===s||t===`${s}#http1-only`){e=!0;break}e||this[C].delete(s)};d.on(`drain`,this[b]).on(`connect`,this[_]).on(`disconnect`,(e,n,r)=>{t(),this[v](e,n,r)}).on(`connectionError`,(e,n,r)=>{t(),this[y](e,n,r)}),this[a].set(u,d),this[C].add(s)}return d.dispatch(e,t)}[l](){let e=[];for(let t of this[a].values())e.push(t.close());return this[a].clear(),Promise.all(e)}[u](e){let t=[];for(let n of this[a].values())t.push(n.destroy(e));return this[a].clear(),Promise.all(t)}get stats(){let e={};for(let t of this[a].values())t.stats&&(e[t[f].origin]=t.stats);return e}}})),zs=t(((e,t)=>{var n=fs(),{InvalidArgumentError:r}=Q(),{toRawHeaders:i}=$(),{kOriginless:a,kUrl:o}=Z(),s=class{#e;constructor(e){this.#e=e}onRequestStart(e,t){this.#e.onConnect?.(t=>e.abort(t),t)}onRequestUpgrade(e,t,n,r){let a=e?.rawHeaders??i(n??{});this.#e.onUpgrade?.(t,a,r)}onResponseStart(e,t,n,r){let a=e?.rawHeaders??i(n??{});this.#e.onHeaders?.(t,a,()=>e.resume(),r)===!1&&e.pause()}onResponseData(e,t){this.#e.onData?.(t)===!1&&e.pause()}onResponseEnd(e,t){let n=e?.rawTrailers??i(t??{});this.#e.onComplete?.(n)}onResponseError(e,t){if(!this.#e.onError)throw t;this.#e.onError(t)}onBodySent(e){this.#e.onBodySent?.(e)}onRequestSent(){this.#e.onRequestSent?.()}onResponseStarted(){this.#e.onResponseStarted?.()}};t.exports=class e extends n{#e;constructor(e){if(super(),!e||typeof e.dispatch!=`function`)throw new r(`Argument dispatcher must implement dispatch`);this.#e=e,this[o]=e[o],this[a]=e[a]}static wrapHandler(e){if(!e||typeof e!=`object`)throw new r(`handler must be an object`);return typeof e.onRequestStart==`function`?e:new s(e)}dispatch(t,n){return t.allowH2!==!1&&(t={...t,allowH2:!1}),this.#e.dispatch(t,e.wrapHandler(n))}close(...e){return this.#e.close(...e)}destroy(...e){return this.#e.destroy(...e)}}})),Bs=t(((t,n)=>{var{Buffer:r}=e(`node:buffer`),i=e(`node:net`),{InvalidArgumentError:a}=Q();function o(e){if(i.isIPv4(e)){let t=e.split(`.`).map(Number);return{type:1,buffer:r.from(t)}}if(i.isIPv6(e))return{type:4,buffer:s(e)};let t=r.from(e,`utf8`);if(t.length>255)throw new a(`Domain name too long (max 255 bytes)`);return{type:3,buffer:r.concat([r.from([t.length]),t])}}function s(e){let t=r.alloc(16),n=e;if(e.includes(`.`)){let t=e.lastIndexOf(`:`),r=e.slice(t+1);if(i.isIPv4(r)){let i=r.split(`.`).map(Number),a=(i[0]<<8|i[1]).toString(16),o=(i[2]<<8|i[3]).toString(16);n=`${e.slice(0,t)}:${a}:${o}`}}let a=n.indexOf(`::`);if(a!==-1){let e=n.slice(0,a),r=n.slice(a+2),i=e===``?[]:e.split(`:`),o=r===``?[]:r.split(`:`),s=0;for(let e of i)t.writeUInt16BE(parseInt(e,16),s),s+=2;s=16-o.length*2;for(let e of o)t.writeUInt16BE(parseInt(e,16),s),s+=2}else{let e=n.split(`:`);for(let n=0;n<e.length;n++)t.writeUInt16BE(parseInt(e[n],16),n*2)}return t}function c(e,t,n){let i=r.allocUnsafe(2);return i.writeUInt16BE(n,0),r.concat([r.from([e]),t,i])}function l(e,t=0){if(e.length<t+1)throw new a(`Buffer too small to contain address type`);let n=e[t],r,i=t+1;switch(n){case 1:if(e.length<i+6)throw new a(`Buffer too small for IPv4 address`);r=Array.from(e.subarray(i,i+4)).join(`.`),i+=4;break;case 3:{if(e.length<i+1)throw new a(`Buffer too small for domain length`);let t=e[i];if(i+=1,e.length<i+t+2)throw new a(`Buffer too small for domain address`);r=e.subarray(i,i+t).toString(`utf8`),i+=t;break}case 4:{if(e.length<i+18)throw new a(`Buffer too small for IPv6 address`);let t=[];for(let n=0;n<8;n++){let r=e.readUInt16BE(i+n*2);t.push(r.toString(16))}r=t.join(`:`),i+=16;break}default:throw new a(`Invalid address type: ${n}`)}if(e.length<i+2)throw new a(`Buffer too small for port`);let o=e.readUInt16BE(i);return i+=2,{address:r,port:o,bytesRead:i-t}}function u(e){let t={1:`General SOCKS server failure`,2:`Connection not allowed by ruleset`,3:`Network unreachable`,4:`Host unreachable`,5:`Connection refused`,6:`TTL expired`,7:`Command not supported`,8:`Address type not supported`}[e]||`Unknown SOCKS5 error code: ${e}`,n=Error(t);return n.code=`SOCKS5_${e}`,n}n.exports={parseAddress:o,parseIPv6:s,buildAddressBuffer:c,parseResponseAddress:l,createReplyError:u}})),Vs=t(((t,n)=>{var{EventEmitter:r}=e(`node:events`),{Buffer:i}=e(`node:buffer`),{InvalidArgumentError:a,Socks5ProxyError:o}=Q(),{debuglog:s}=e(`node:util`),{parseAddress:c}=Bs(),l=s(`undici:socks5`),u=i.alloc(0),d=5,f={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},p={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},m={IPV4:1,DOMAIN:3,IPV6:4},h={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},g={INITIAL:`initial`,HANDSHAKING:`handshaking`,AUTHENTICATING:`authenticating`,AUTHENTICATED:`authenticated`,CONNECTING:`connecting`,CONNECTED:`connected`,ERROR:`error`,CLOSED:`closed`};n.exports={Socks5Client:class extends r{constructor(e,t={}){if(super(),!e)throw new a(`socket is required`);this.socket=e,this.options=t,this.state=g.INITIAL,this.buffer=u,this.onSocketData=this.onData.bind(this),this.onSocketError=this.onError.bind(this),this.onSocketClose=this.onClose.bind(this),this.authMethods=[],t.username&&t.password&&this.authMethods.push(f.USERNAME_PASSWORD),this.authMethods.push(f.NO_AUTH),this.socket.on(`data`,this.onSocketData),this.socket.on(`error`,this.onSocketError),this.socket.on(`close`,this.onSocketClose)}onData(e){l(`received data`,e.length,`bytes in state`,this.state),this.buffer=i.concat([this.buffer,e]);try{switch(this.state){case g.HANDSHAKING:this.handleHandshakeResponse();break;case g.AUTHENTICATING:this.handleAuthResponse();break;case g.CONNECTING:this.handleConnectResponse()}}catch(e){this.onError(e)}}onError(e){l(`socket error`,e),this.state=g.ERROR,this.emit(`error`,e),this.destroy()}onClose(){l(`socket closed`),this.state=g.CLOSED,this.emit(`close`)}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}markAuthenticated(){this.state=g.AUTHENTICATED,this.emit(`authenticated`)}handshake(){if(this.state!==g.INITIAL)throw new a(`Handshake already started`);l(`starting handshake with`,this.authMethods.length,`auth methods`),this.state=g.HANDSHAKING;let e=i.alloc(2+this.authMethods.length);e[0]=d,e[1]=this.authMethods.length,this.authMethods.forEach((t,n)=>{e[2+n]=t}),this.socket.write(e)}handleHandshakeResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==d)throw new o(`Invalid SOCKS version: ${e}`,`UND_ERR_SOCKS5_VERSION`);if(t===f.NO_ACCEPTABLE)throw new o(`No acceptable authentication method`,`UND_ERR_SOCKS5_AUTH_REJECTED`);if(this.buffer=this.buffer.subarray(2),l(`server selected auth method`,t),t===f.NO_AUTH)this.markAuthenticated();else if(t===f.USERNAME_PASSWORD)this.state=g.AUTHENTICATING,this.sendAuthRequest();else throw new o(`Unsupported authentication method: ${t}`,`UND_ERR_SOCKS5_AUTH_METHOD`)}sendAuthRequest(){let{username:e,password:t}=this.options;if(!e||!t)throw new a(`Username and password required for authentication`);l(`sending username/password auth`);let n=i.from(e),r=i.from(t);if(n.length>255||r.length>255)throw new a(`Username or password too long`);let o=i.alloc(3+n.length+r.length);o[0]=1,o[1]=n.length,n.copy(o,2),o[2+n.length]=r.length,r.copy(o,3+n.length),this.socket.write(o)}handleAuthResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==1)throw new o(`Invalid auth sub-negotiation version: ${e}`,`UND_ERR_SOCKS5_AUTH_VERSION`);if(t!==0)throw new o(`Authentication failed`,`UND_ERR_SOCKS5_AUTH_FAILED`);this.buffer=this.buffer.subarray(2),l(`authentication successful`),this.markAuthenticated()}connect(e,t){if(this.state===g.CONNECTING||this.state===g.CONNECTED)throw new a(`Connection already in progress`);if(this.state!==g.AUTHENTICATED)throw new a(`Client must be authenticated before CONNECT`);l(`connecting to`,e,t),this.state=g.CONNECTING;let n=this.buildConnectRequest(p.CONNECT,e,t);this.socket.write(n)}buildConnectRequest(e,t,n){let{type:r,buffer:a}=c(t),o=i.alloc(4+a.length+2);return o[0]=d,o[1]=e,o[2]=0,o[3]=r,a.copy(o,4),o.writeUInt16BE(n,4+a.length),o}handleConnectResponse(){if(this.buffer.length<4)return;let e=this.buffer[0],t=this.buffer[1],n=this.buffer[3];if(e!==d)throw new o(`Invalid SOCKS version in reply: ${e}`,`UND_ERR_SOCKS5_REPLY_VERSION`);let r=4;if(n===m.IPV4)r+=6;else if(n===m.DOMAIN){if(this.buffer.length<5)return;r+=1+this.buffer[4]+2}else if(n===m.IPV6)r+=18;else throw new o(`Invalid address type in reply: ${n}`,`UND_ERR_SOCKS5_ADDR_TYPE`);if(this.buffer.length<r)return;if(t!==h.SUCCEEDED)throw new o(`SOCKS5 connection failed: ${this.getReplyErrorMessage(t)}`,`UND_ERR_SOCKS5_REPLY_${t}`);let i,a=4;if(n===m.IPV4)i=Array.from(this.buffer.subarray(a,a+4)).join(`.`),a+=4;else if(n===m.DOMAIN){let e=this.buffer[a];a+=1,i=this.buffer.subarray(a,a+e).toString(),a+=e}else if(n===m.IPV6){let e=[];for(let t=0;t<8;t++){let n=this.buffer.readUInt16BE(a+t*2);e.push(n.toString(16))}i=e.join(`:`),a+=16}let s=this.buffer.readUInt16BE(a);this.buffer=u,this.state=g.CONNECTED,this.socket.removeListener(`data`,this.onSocketData),l(`connected, bound address:`,i,`port:`,s),this.emit(`connected`,{address:i,port:s})}getReplyErrorMessage(e){switch(e){case h.GENERAL_FAILURE:return`General SOCKS server failure`;case h.CONNECTION_NOT_ALLOWED:return`Connection not allowed by ruleset`;case h.NETWORK_UNREACHABLE:return`Network unreachable`;case h.HOST_UNREACHABLE:return`Host unreachable`;case h.CONNECTION_REFUSED:return`Connection refused`;case h.TTL_EXPIRED:return`TTL expired`;case h.COMMAND_NOT_SUPPORTED:return`Command not supported`;case h.ADDRESS_TYPE_NOT_SUPPORTED:return`Address type not supported`;default:return`Unknown error code: ${e}`}}},AUTH_METHODS:f,COMMANDS:p,ADDRESS_TYPES:m,REPLY_CODES:h,STATES:g}})),Hs=t(((t,n)=>{var{URL:r}=e(`node:url`),i,a=ps(),{ConnectTimeoutError:o,InvalidArgumentError:s}=Q(),{Socks5Client:c,STATES:l}=Vs(),{kBusy:u,kConnected:d,kDispatch:f,kClose:p,kDestroy:m}=Z(),h=Fs(),g=ms(),{setupConnectTimeout:_}=$(),{debuglog:v}=e(`node:util`),y=v(`undici:socks5-proxy`),b=5e3,x=Symbol(`proxy url`),S=Symbol(`proxy headers`),C=Symbol(`proxy auth`),w=Symbol(`proxy protocol`),T=Symbol(`pools`),E=Symbol(`connector`),D=Symbol(`connect timeout`),O=Symbol(`request tls settings`),k=Symbol(`request tls timeout`);function A(e,t,n){return new o(`Connect Timeout Error (attempted address: ${e}:${t}, timeout: ${n}ms)`)}var j=!1;n.exports=class extends a{constructor(e,t={}){if(super(t),j||=(process.emitWarning(`SOCKS5 proxy support is experimental and subject to change`,`ExperimentalWarning`),!0),!e)throw new s(`Proxy URL is mandatory`);let n=typeof e==`string`?new r(e):e;if(n.protocol!==`socks5:`&&n.protocol!==`socks:`)throw new s(`Proxy URL must use socks5:// or socks:// protocol`);this[x]=n,this[S]=t.headers||{},this[w]=t.proxyTls?`https:`:`http:`;let i=t.connectTimeout??b;if(!Number.isFinite(i)||i<0)throw new s(`invalid connectTimeout`);this[D]=i;let{timeout:a,...o}=t.requestTls||{},c=a??i;if(!Number.isFinite(c)||c<0)throw new s(`invalid requestTls.timeout`);this[O]=o,this[k]=c,this[C]={username:t.username||(n.username?decodeURIComponent(n.username):null),password:t.password||(n.password?decodeURIComponent(n.password):null)};let l=t.proxyTls?.timeout??i;if(!Number.isFinite(l)||l<0)throw new s(`invalid proxyTls.timeout`);this[E]=t.connect||g({...t.proxyTls,timeout:l,servername:t.proxyTls?.servername||n.hostname}),this[T]=new Map}async createSocks5Connection(e,t){let n=this[x].hostname,r=parseInt(this[x].port)||1080;y(`creating SOCKS5 connection to`,n,r);let i=Promise.withResolvers();this[E]({hostname:n,host:n,port:r,protocol:this[w]},(e,t)=>{e?i.reject(e):i.resolve(t)});let a=await i.promise,o=new c(a,this[C]);o.on(`error`,e=>{y(`SOCKS5 error:`,e),a.destroy()}),await o.handshake();let s=Promise.withResolvers(),u=this[D]===0?null:setTimeout(()=>{d(),o.destroy(),s.reject(A(n,r,this[D]))},this[D]),d=()=>{clearTimeout(u),o.removeListener(`authenticated`,f),o.removeListener(`error`,p)},f=()=>{d(),s.resolve()},p=e=>{d(),s.reject(e)};o.state===l.AUTHENTICATED?(clearTimeout(u),s.resolve()):(o.once(`authenticated`,f),o.once(`error`,p)),await s.promise,await o.connect(e,t);let m=Promise.withResolvers(),h=this[D]===0?null:setTimeout(()=>{g(),o.destroy(),m.reject(A(e,t,this[D]))},this[D]),g=()=>{clearTimeout(h),o.removeListener(`connected`,_),o.removeListener(`error`,v)},_=n=>{y(`SOCKS5 tunnel established to`,e,t,`via`,n),g(),m.resolve()},v=e=>{g(),m.reject(e)};return o.once(`connected`,_),o.once(`error`,v),await m.promise,a}[f](t,n){let{origin:a}=t;y(`dispatching request to`,a,`via SOCKS5`);try{let o=String(a),s=this[T].get(o);if(!s||s.destroyed||s.closed){s=new h(a,{pipelining:t.pipelining,connections:t.connections,connect:async(t,n)=>{try{let t=new r(a),o=t.hostname,s=parseInt(t.port)||(t.protocol===`https:`?443:80);y(`establishing SOCKS5 connection to`,o,s);let c=await this.createSocks5Connection(o,s),l=c;if(t.protocol===`https:`){i||=e(`node:tls`),y(`upgrading to TLS`),l=i.connect({...this[O],socket:c,servername:this[O]?.servername||o});let t=Promise.withResolvers(),n=()=>{queueMicrotask(u),l.removeListener(`secureConnect`,r),l.removeListener(`error`,a)},r=()=>{n(),t.resolve()},a=e=>{n(),t.reject(e)},u=_(new WeakRef(l),{timeout:this[k],hostname:o,port:s});l.once(`secureConnect`,r),l.once(`error`,a),await t.promise}n(null,l)}catch(e){y(`SOCKS5 connection error:`,e),n(e)}}}),this[T].set(o,s);let n=()=>{this[T].get(o)!==s||s[d]>0||s[u]||(this[T].delete(o),s.destroyed||s.close())};s.on(`disconnect`,n),s.on(`connectionError`,n)}return s[f](t,n)}catch(e){if(y(`dispatch error:`,e),typeof n.onResponseError==`function`)return n.onResponseError(null,e),!1;if(typeof n.onError==`function`)return n.onError(e),!1;throw e}}async[p](){let e=[];for(let t of this[T].values())e.push(t.close());this[T].clear(),await Promise.all(e)}async[m](e){let t=[];for(let n of this[T].values())t.push(n.destroy(e));this[T].clear(),await Promise.all(t)}}})),Us=t(((e,t)=>{var{kProxy:n,kClose:r,kDestroy:i,kDispatch:a}=Z(),o=Rs(),s=Fs(),c=ps(),{InvalidArgumentError:l,RequestAbortedError:u,SecureProxyConnectionError:d,ProxyConnectionError:f}=Q(),p=ms(),m=Ms(),{channels:h}=us(),g=Hs(),{hasSafeIterator:_}=$(),v=Symbol(`proxy agent`),y=Symbol(`proxy client`),b=Symbol(`proxy headers`),x=Symbol(`request tls settings`),S=Symbol(`proxy tls settings`),C=Symbol(`connect endpoint function`),w=Symbol(`connect endpoint function (http/1.1 only)`),T=Symbol(`tunnel proxy`),E=`proxy-authorization`;function D(e){return e===`https:`?443:80}function O(e,t){return new s(e,t)}var k=()=>{};function A(e,t){return t.connections===1?new m(e,t):new s(e,t)}function j(e,t){return t===!0||e!==`http:`}var M=class extends c{#e;#t;constructor(e,{headers:t={},connect:n,factory:r,proxyServername:i}){if(!e)throw new l(`Proxy URL is mandatory`);super(),this[b]=t,this.#t=i,this.#e=r?r(e,{connect:n}):new m(e,{connect:n})}[a](e,t){let n=t.onResponseStart;t.onResponseStart=function(e,r,i,a){if(r===407){typeof t.onResponseError==`function`&&t.onResponseError(e,new l(`Proxy Authentication Required (407)`));return}n&&n.call(this,e,r,i,a)};let{origin:r,path:i=`/`,headers:o={}}=e;if(e.path=r+i,!(`host`in o)&&!(`Host`in o)){let{host:e}=new URL(r);o.host=e}return e.headers={...this[b],...o},this.#t!=null&&(e.servername=this.#t),this.#e[a](e,t)}[r](){return this.#e.close()}[i](e){return this.#e.destroy(e)}},N=class extends c{constructor(e){if(!e||typeof e==`object`&&!(e instanceof URL)&&!e.uri)throw new l(`Proxy uri is mandatory`);let{clientFactory:t=O}=e;if(typeof t!=`function`)throw new l(`Proxy opts.clientFactory must be a function.`);let{proxyTunnel:r,connectTimeout:i}=e;super(e);let a=this.#e(e),{href:s,origin:c,port:m,protocol:_,username:E,password:N,hostname:P}=a;if(this[n]={uri:s,protocol:_},this[x]=e.requestTls,this[S]=e.proxyTls,this[b]=e.headers||{},this[T]=r,e.auth&&e.token)throw new l(`opts.auth cannot be used in combination with opts.token`);e.auth?this[b][`proxy-authorization`]=`Basic ${e.auth}`:e.token?this[b][`proxy-authorization`]=e.token:E&&N?this[b][`proxy-authorization`]=`Basic ${Buffer.from(`${decodeURIComponent(E)}:${decodeURIComponent(N)}`).toString(`base64`)}`:E&&(this[b][`proxy-authorization`]=`Basic ${Buffer.from(`${decodeURIComponent(E)}:`).toString(`base64`)}`);let F=p({timeout:i,...e.proxyTls}),I=p({timeout:i,...e.proxyTls,allowH2:!1});this[C]=p({timeout:i,...e.requestTls}),this[w]=p({timeout:i,...e.requestTls,allowH2:!1});let L=e.factory||A,R=(t,r)=>{let{protocol:a}=new URL(t);if(this[n].protocol===`socks5:`||this[n].protocol===`socks:`)return new g(this[n].uri,{headers:this[b],connect:F,factory:L,username:e.username||E,password:e.password||N,connectTimeout:i,proxyTls:e.proxyTls,requestTls:e.requestTls});if(!j(a,this[T])){let e=this[n].protocol===`https:`?(e,t)=>I(e,(e,n)=>{e&&e.code===`ERR_TLS_CERT_ALTNAME_INVALID`?t(new d(e)):t(e,n)}):I;return new M(this[n].uri,{headers:this[b],connect:e,factory:L,proxyServername:this[n].protocol===`https:`?this[S]?.servername||P:void 0})}return L(t,r)};this[y]=_===`socks5:`||_===`socks:`?null:t(a,{connect:F}),this[v]=new o({...e,factory:R,connect:async(e,t)=>{if(!this[y]){t(new l(`Cannot establish tunnel connection without a proxy client`));return}let n=e.host;e.port||(n+=`:${D(e.protocol)}`);try{let r={origin:c,port:m,path:n,signal:e.signal,headers:{...this[b],host:e.host,...e.connections==null||e.connections>0?{"proxy-connection":`keep-alive`}:{}},servername:this[S]?.servername||P},{socket:i,statusCode:a}=await this[y].connect(r);if(a!==200){i.on(`error`,k).destroy(),t(new u(`Proxy response (${a}) !== 200 when HTTP Tunneling`));return}if(h.proxyConnected.hasSubscribers&&h.proxyConnected.publish({socket:i,connectParams:r}),e.protocol!==`https:`){t(null,i);return}let o;o=this[x]?this[x].servername:e.servername,(e.allowH2===!1?this[w]:this[C])({...e,servername:o,httpSocket:i},t)}catch(e){e.code===`ERR_TLS_CERT_ALTNAME_INVALID`?t(new d(e)):e.code===`UND_ERR_SOCKET`?t(new f(e)):t(e)}}})}dispatch(e,t){let n=P(e.headers);if(F(n),n&&!(`host`in n)&&!(`Host`in n)){let{host:t}=new URL(e.origin);n.host=t}return this[v].dispatch({...e,headers:n},t)}#e(e){return typeof e==`string`?new URL(e):e instanceof URL?e:new URL(e.uri)}[r](){let e=[this[v].close()];return this[y]&&e.push(this[y].close()),Promise.all(e)}[i](){let e=[this[v].destroy()];return this[y]&&e.push(this[y].destroy()),Promise.all(e)}};function P(e){if(Array.isArray(e)){let t={};for(let n=0;n<e.length;n+=2)I(e[n])&&L(),t[e[n]]=e[n+1];return t}if(e&&typeof e==`object`&&_(e)){let t={};for(let[n,r]of e)t[n]=r;return t}return e}function F(e){for(let t in e)I(t)&&L()}function I(e){return e.length===19&&e.toLowerCase()===E}function L(){throw new l(`Proxy-Authorization should be sent in ProxyAgent constructor`)}t.exports=N})),Ws=t(((e,t)=>{var n=ps(),{kClose:r,kDestroy:i,kClosed:a,kDestroyed:o,kDispatch:s,kNoProxyAgent:c,kHttpProxyAgent:l,kHttpsProxyAgent:u}=Z(),d=Us(),f=Rs(),p={"http:":80,"https:":443};t.exports=class extends n{#e=null;#t=null;#n=null;constructor(e={}){super(e),this.#n=e;let{httpProxy:t,httpsProxy:n,noProxy:r,...i}=e;this[c]=new f(i);let a=t??process.env.http_proxy??process.env.HTTP_PROXY;this[l]=a?new d({...i,uri:a}):this[c];let o=n??process.env.https_proxy??process.env.HTTPS_PROXY;this[u]=o?new d({...i,uri:o}):this[l],this.#a()}[s](e,t){let n=new URL(e.origin);return this.#r(n).dispatch(e,t)}[r](){return Promise.all([this[c].close(),!this[l][a]&&this[l].close(),!this[u][a]&&this[u].close()])}[i](e){return Promise.all([this[c].destroy(e),!this[l][o]&&this[l].destroy(e),!this[u][o]&&this[u].destroy(e)])}#r(e){let{protocol:t,host:n,port:r}=e;return n=n.replace(/:\d*$/,``).replace(/^\[(.+)\]$/,`$1`).toLowerCase(),n.length>1&&n.charCodeAt(n.length-1)===46&&(n=n.slice(0,-1)),r=Number.parseInt(r,10)||p[t]||0,this.#i(n,r)?t===`https:`?this[u]:this[l]:this[c]}#i(e,t){if(this.#o&&this.#a(),this.#t.length===0)return!0;if(this.#e===`*`)return!1;for(let n=0;n<this.#t.length;n++){let r=this.#t[n];if(!(r.port&&r.port!==t)&&(e===r.hostname||e.slice(-(r.hostname.length+1))===`.${r.hostname}`))return!1}return!0}#a(){let e=this.#n.noProxy??this.#s,t=e.split(/[,\s]/),n=[];for(let e=0;e<t.length;e++){let r=t[e];if(!r)continue;let i,a,o=r.match(/^\[(.+)\]:(\d+)$/);if(o)i=o[1],a=Number.parseInt(o[2],10);else{let e=r.replace(/^\[(.+)\]$/,`$1`),t=(e.match(/:/g)||[]).length===1&&e.match(/^(.+):(\d+)$/);i=t?t[1]:e,a=t?Number.parseInt(t[2],10):0}n.push({hostname:i.replace(/^\*?\./,``).replace(/^(.+)\.$/,`$1`).toLowerCase(),port:a})}this.#e=e,this.#t=n}get#o(){return this.#n.noProxy===void 0&&this.#e!==this.#s}get#s(){return process.env.no_proxy??process.env.NO_PROXY??``}}})),Gs=t(((t,n)=>{var r=e(`node:assert`),{kRetryHandlerDefaultRetry:i}=Z(),{RequestRetryError:a,RequestAbortedError:o}=Q(),{isDisturbed:s,parseRangeHeader:c,wrapRequestBody:l}=$();function u(e){let t=new Date(e).getTime();return isNaN(t)?null:t-Date.now()}function d(e,t,n,r){let i=e[`content-length`];if(i==null||!Number.isFinite(t.start)||!Number.isFinite(t.end))return;let o=Number(i),s=t.end-t.start+1;if(!Number.isFinite(o)||o!==s)throw new a(`Content-Length mismatch`,n,{headers:e,data:{count:r}})}var f=class{#e;constructor(e){this.#e=e,this.target=null}pause(){this.target?.pause()}resume(){this.target?.resume()}abort(e){this.target?.abort(e),this.#e(e)}get paused(){return this.target?.paused??!1}get aborted(){return this.target?.aborted??!1}get reason(){return this.target?.reason??null}get rawHeaders(){return this.target?.rawHeaders??null}set rawHeaders(e){this.target&&(this.target.rawHeaders=e)}get rawTrailers(){return this.target?.rawTrailers??null}set rawTrailers(e){this.target&&(this.target.rawTrailers=e)}};n.exports=class e{constructor(t,{dispatch:n,handler:r}){let{retryOptions:a,...o}=t,{retry:s,maxRetries:c,maxTimeout:u,minTimeout:d,timeoutFactor:p,methods:m,errorCodes:h,retryAfter:g,statusCodes:_,throwOnError:v}=a??{};this.error=null,this.dispatch=n,this.handler=r,this.opts={...o,body:l(t.body)},this.retryOpts={throwOnError:v??!0,retry:s??e[i],retryAfter:g??!0,maxTimeout:u??3e4,minTimeout:d??500,timeoutFactor:p??2,maxRetries:c??5,methods:m??[`GET`,`HEAD`,`OPTIONS`,`PUT`,`DELETE`,`TRACE`,`QUERY`],statusCodes:_??[500,502,503,504,429],errorCodes:h??[`ECONNRESET`,`ECONNREFUSED`,`ENOTFOUND`,`ENETDOWN`,`ENETUNREACH`,`EHOSTDOWN`,`EHOSTUNREACH`,`EPIPE`,`UND_ERR_SOCKET`]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null,this.statusCode=null,this.headers=null,this.controllerProxy=new f(e=>this.#e(e)),this.retryPending=!1,this.retryTimer=null,this.aborted=!1}onResponseStartWithRetry(e,t,n,r,i){if(this.retryOpts.throwOnError){this.retryOpts.statusCodes.includes(t)===!1?this.headersSent?this.handler.onResponseError?.(this.controllerProxy,i):(this.headersSent=!0,this.checkpointResponseEnd(n),this.handler.onResponseStart?.(this.controllerProxy,t,n,r)):this.error=i;return}if(s(this.opts.body)){this.headersSent=!0,this.checkpointResponseEnd(n),this.handler.onResponseStart?.(this.controllerProxy,t,n,r);return}function a(a){if(!this.aborted){if(this.retryPending=!1,this.retryTimer=null,a){this.headersSent?this.handler.onResponseError?.(this.controllerProxy,a):(this.headersSent=!0,this.checkpointResponseEnd(n),this.handler.onResponseStart?.(this.controllerProxy,t,n,r)),e.resume();return}this.error=i,e.resume()}}e.pause(),this.retryPending=!0,this.retryTimer=this.retryOpts.retry(i,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},a.bind(this))??null}checkpointResponseEnd(e){if(this.end==null&&this.opts.method!==`HEAD`){let t=e[`content-length`];this.end=t==null?null:Number(t)-1,r(this.end==null||Number.isFinite(this.end),`invalid content-length`),this.resume=this.end!=null}}onRequestStart(e,t){this.controllerProxy.target=e,this.headersSent||this.handler.onRequestStart?.(this.controllerProxy,t)}onBodySent(e){this.handler.onBodySent?.(e)}onRequestSent(){this.handler.onRequestSent?.()}onRequestUpgrade(e,t,n,r){this.handler.onRequestUpgrade?.(this.controllerProxy,t,n,r)}static[i](e,{state:t,opts:n},r){let{statusCode:i,code:a,headers:o}=e,{method:s,retryOptions:c}=n,{maxRetries:l,minTimeout:d,maxTimeout:f,timeoutFactor:p,statusCodes:m,errorCodes:h,methods:g,retryAfter:_}=c,{counter:v}=t;if(a&&a!==`UND_ERR_REQ_RETRY`&&!h.includes(a)){r(e);return}if(Array.isArray(g)&&!g.includes(s)){r(e);return}if(i!=null&&Array.isArray(m)&&!m.includes(i)){r(e);return}if(v>l){r(e);return}let y=_===!1?void 0:o?.[`retry-after`];y&&=(y=Number(y),Number.isNaN(y)?u(o[`retry-after`]):y*1e3);let b=y===0?0:Math.min(y>0?y:d*p**(v-1),f);return setTimeout(()=>r(null),b)}onResponseStart(e,t,n,i){if(t<200){this.handler.onResponseStart?.(this.controllerProxy,t,n,i);return}if(this.error=null,this.retryCount+=1,this.statusCode=t,this.headers=n,this.headersSent){if(t!==206&&(this.start>0||t!==200))throw new a(`server does not support the range header and the payload was partially consumed`,t,{headers:n,data:{count:this.retryCount}});let e=c(n[`content-range`]);if(!e)throw new a(`Content-Range mismatch`,t,{headers:n,data:{count:this.retryCount}});if(this.etag!=null&&this.etag!==n.etag)throw new a(`ETag mismatch`,t,{headers:n,data:{count:this.retryCount}});d(n,e,t,this.retryCount);let{start:r,size:i,end:o=i?i-1:null}=e;if(this.start!==r||this.end!=null&&this.end!==o)throw new a(`Content-Range mismatch`,t,{headers:n,data:{count:this.retryCount}});return}if(t>=300){let r=new a(`Request failed`,t,{headers:n,data:{count:this.retryCount}});this.onResponseStartWithRetry(e,t,n,i,r);return}if(this.end==null){if(t===206){let e=c(n[`content-range`]);if(e==null||e.end==null){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,t,n,i);return}d(n,e,t,this.retryCount);let{start:a,size:o,end:s=o?o-1:null}=e;r(a!=null&&Number.isFinite(a),`content-range mismatch`),r(s!=null&&Number.isFinite(s),`invalid content-length`),this.start=a,this.end=s}if(this.end==null&&this.opts.method!==`HEAD`){let e=n[`content-length`];this.end=e==null?null:Number(e)-1}r(Number.isFinite(this.start)),r(this.end==null||Number.isFinite(this.end),`invalid content-length`),this.resume=!0,this.etag=n.etag==null?null:n.etag,this.etag!=null&&this.etag[0]===`W`&&this.etag[1]===`/`&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,t,n,i)}else throw new a(`Request failed`,t,{headers:n,data:{count:this.retryCount}})}onResponseData(e,t){this.error||(this.start+=t.length,this.handler.onResponseData?.(this.controllerProxy,t))}onResponseEnd(e,t){if(this.error&&this.retryOpts.throwOnError)throw this.error;if(!this.error){if(this.end!=null&&Number.isFinite(this.end)&&this.start!==this.end+1)throw new a(`Content-Range mismatch`,this.statusCode,{headers:this.headers,data:{count:this.retryCount}});return this.retryCount=0,this.handler.onResponseEnd?.(this.controllerProxy,t)}this.retry()}retry(){if(this.start!==0){let e={range:`bytes=${this.start}-${this.end??``}`};this.etag!=null&&(e[`if-match`]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...e}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(e){this.handler.onResponseError?.(this.controllerProxy,e)}}onResponseError(e,t){if(this.aborted)return;if(e?.aborted||s(this.opts.body)||this.headersSent&&!this.resume){this.handler.onResponseError?.(this.controllerProxy,t);return}function n(e){if(!this.aborted){if(this.retryPending=!1,this.retryTimer=null,!e){this.retry();return}this.handler?.onResponseError?.(this.controllerProxy,e)}}this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryPending=!0,this.retryTimer=this.retryOpts.retry(t,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},n.bind(this))??null}#e(e){this.retryPending&&(this.aborted=!0,this.retryPending=!1,clearTimeout(this.retryTimer),this.retryTimer=null,this.handler.onResponseError?.(this.controllerProxy,e??new o))}}})),Ks=t(((e,t)=>{var n=fs(),r=Gs(),{kOriginless:i,kUrl:a}=Z();t.exports=class extends n{#e=null;#t=null;constructor(e,t={}){super(t),this.#e=e,this.#t=t,this[a]=e[a],this[i]=e[i]}dispatch(e,t){let n=new r({...e,retryOptions:this.#t},{dispatch:this.#e.dispatch.bind(this.#e),handler:t});return this.#e.dispatch(e,n)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}}})),qs=t(((e,t)=>{var{InvalidArgumentError:n}=Q(),r=Ms();t.exports=class extends r{constructor(e,t){if(typeof e==`string`&&(e=new URL(e)),e.protocol!==`http:`)throw new n(`h2c-client: Only h2c protocol is supported`);let{maxConcurrentStreams:r,pipelining:i,...a}=t??{},o=r??100,s=100;if(r!=null&&(!Number.isInteger(r)||r<1))throw new n(`maxConcurrentStreams must be a positive integer, greater than 0`);if(i!=null&&Number.isInteger(i)&&i>0&&(s=i),s>o)throw new n(`h2c-client: pipelining cannot be greater than maxConcurrentStreams`);super(e,{...a,maxConcurrentStreams:o,pipelining:s,allowH2:!0,useH2c:!0})}}})),Js=t(((t,n)=>{var r=e(`node:assert`),{addAbortListener:i}=e(`node:events`),{Readable:a}=e(`node:stream`),{RequestAbortedError:o,NotSupportedError:s,InvalidArgumentError:c,AbortError:l}=Q(),u=$(),{ReadableStreamFrom:d}=$(),f=Symbol(`kConsume`),p=Symbol(`kReading`),m=Symbol(`kBody`),h=Symbol(`kAbort`),g=Symbol(`kContentType`),_=Symbol(`kContentLength`),v=Symbol(`kUsed`),y=Symbol(`kBytesRead`),b=()=>{},x=class extends a{constructor({resume:e,abort:t,contentType:n=``,contentLength:r,highWaterMark:i=65536}){super({autoDestroy:!0,read:e,highWaterMark:i}),this._readableState.dataEmitted=!1,this[h]=t,this[f]=null,this[y]=0,this[m]=null,this[v]=!1,this[g]=n,this[_]=Number.isFinite(r)?r:null,this[p]=!1}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new o),e&&this[h](),this[v]?t(e):setImmediate(t,e)}on(e,t){return(e===`data`||e===`readable`)&&(this[p]=!0,this[v]=!0),super.on(e,t)}addListener(e,t){return this.on(e,t)}off(e,t){let n=super.off(e,t);return(e===`data`||e===`readable`)&&(this[p]=this.listenerCount(`data`)>0||this.listenerCount(`readable`)>0),n}removeListener(e,t){return this.off(e,t)}push(e){return e&&(this[y]+=e.length,this[f])?(k(this[f],e),!this[p]||super.push(e)):super.push(e)}text(){return w(this,`text`)}json(){return w(this,`json`)}blob(){return w(this,`blob`)}bytes(){return w(this,`bytes`)}arrayBuffer(){return w(this,`arrayBuffer`)}async formData(){throw new s}get bodyUsed(){return u.isDisturbed(this)}get body(){return this[m]||(this[m]=d(this),this[f]&&(this[m].getReader(),r(this[m].locked))),this[m]}dump(e){let t=e?.signal;if(t!=null&&(typeof t!=`object`||!(`aborted`in t)))return Promise.reject(new c(`signal must be an AbortSignal`));let n=e?.limit&&Number.isFinite(e.limit)?e.limit:131072;return t?.aborted?Promise.reject(t.reason??new l):this._readableState.closeEmitted?Promise.resolve(null):new Promise((e,r)=>{if((this[_]&&this[_]>n||this[y]>n)&&this.destroy(new l),t){let n=i(t,()=>{this.destroy(t.reason??new l)});this.on(`close`,function(){n[Symbol.dispose](),t.aborted?r(t.reason??new l):e(null)})}else this.on(`close`,e);this.on(`error`,b).on(`data`,()=>{this[y]>n&&this.destroy()}).resume()})}setEncoding(e){return Buffer.isEncoding(e)&&super.setEncoding(e),this}};function S(e){return e[m]?.locked===!0||e[f]!==null}function C(e){return u.isDisturbed(e)||S(e)}function w(e,t){return r(!e[f]),new Promise((n,r)=>{if(C(e)){let t=e._readableState;t.destroyed&&t.closeEmitted===!1?e.on(`error`,r).on(`close`,()=>{r(TypeError(`unusable`))}):r(t.errored??TypeError(`unusable`))}else queueMicrotask(()=>{e[f]={type:t,stream:e,resolve:n,reject:r,length:0,body:[]},e.on(`error`,function(e){A(this[f],e)}).on(`close`,function(){this[f].body!==null&&A(this[f],new o)}),T(e[f])})})}function T(e){if(e.body===null)return;let{_readableState:t}=e.stream;if(t.bufferIndex){let n=t.bufferIndex,r=t.buffer.length;for(let i=n;i<r;i++)k(e,t.buffer[i])}else for(let n of t.buffer)k(e,n);let n=t.decoder;if(n!=null&&n.lastNeed>0&&k(e,Buffer.from(n.lastChar.subarray(0,n.lastTotal-n.lastNeed))),t.endEmitted){O(e,t.encoding);return}for(e.stream.on(`end`,function(){O(this[f],this._readableState.encoding)}),e.stream.resume();e.stream.read()!=null;);}function E(e,t,n){if(e.length===0||t===0)return``;let r=e.length===1?e[0]:Buffer.concat(e,t),i=r.length,a=i>2&&r[0]===239&&r[1]===187&&r[2]===191?3:0;return!n||n===`utf8`||n===`utf-8`?r.utf8Slice(a,i):r.subarray(a,i).toString(n)}function D(e,t){if(e.length===0||t===0)return new Uint8Array;if(e.length===1)return new Uint8Array(e[0]);let n=new Uint8Array(Buffer.allocUnsafeSlow(t).buffer),r=0;for(let t=0;t<e.length;++t){let i=e[t];n.set(i,r),r+=i.length}return n}function O(e,t){let{type:n,body:r,resolve:i,stream:a,length:o}=e;try{n===`text`?i(E(r,o,t)):n===`json`?i(JSON.parse(E(r,o,t))):n===`arrayBuffer`?i(D(r,o).buffer):n===`blob`?i(new Blob(r,{type:a[g]})):n===`bytes`&&i(D(r,o)),A(e)}catch(e){a.destroy(e)}}function k(e,t){e.body!==null&&(typeof t==`string`&&(t=Buffer.from(t,e.stream._readableState.encoding)),e.length+=t.length,e.body.push(t))}function A(e,t){e.body!==null&&(t?e.reject(t):e.resolve(),e.type=null,e.stream=null,e.resolve=null,e.reject=null,e.length=0,e.body=null)}n.exports={Readable:x,chunksDecode:E}})),Ys=t(((t,n)=>{var r=e(`node:assert`),{AsyncResource:i}=e(`node:async_hooks`),{Readable:a}=Js(),{InvalidArgumentError:o,RequestAbortedError:s}=Q(),c=$();function l(){}var u=class extends i{constructor(e,t){if(!e||typeof e!=`object`)throw new o(`invalid opts`);let{signal:n,method:r,opaque:i,body:a,onInfo:u,responseHeaders:d,highWaterMark:f}=e;try{if(typeof t!=`function`)throw new o(`invalid callback`);if(f!=null&&(!Number.isFinite(f)||f<0))throw new o(`invalid highWaterMark`);if(n&&typeof n.on!=`function`&&typeof n.addEventListener!=`function`)throw new o(`signal must be an EventEmitter or EventTarget`);if(r===`CONNECT`)throw new o(`invalid method`);if(u&&typeof u!=`function`)throw new o(`invalid onInfo callback`);super(`UNDICI_REQUEST`)}catch(e){throw c.isStream(a)&&c.destroy(a.on(`error`,l),e),e}this.method=r,this.responseHeaders=d||null,this.opaque=i||null,this.callback=t,this.res=null,this.abort=null,this.body=a,this.trailers={},this.context=null,this.controller=null,this.onInfo=u||null,this.highWaterMark=f,this.reason=null,this.removeAbortListener=null,n?.aborted?this.reason=n.reason??new s:n&&(this.removeAbortListener=c.addAbortListener(n,()=>{if(this.reason=n.reason??new s,this.res){let e=this.res;this.res=null,c.destroy(e.on(`error`,l),this.reason)}else this.abort&&this.abort(this.reason)}))}onRequestStart(e,t){if(this.reason){e.abort(this.reason);return}r(this.callback),this.controller=e,this.abort=t=>e.abort(t),this.context=t}onResponseStart(e,t,n,r){let{callback:i,opaque:o,context:s,responseHeaders:u,highWaterMark:d}=this,f=e?.rawHeaders,p=u===`raw`?c.parseRawHeaders(f):n;if(t<200){this.onInfo&&this.onInfo({statusCode:t,headers:p});return}let m=n,h=m?.[`content-type`],g=m?.[`content-length`],_=new a({resume:()=>e.resume(),abort:t=>e.abort(t),contentType:h,contentLength:this.method!==`HEAD`&&g?Number(g):null,highWaterMark:d});if(this.removeAbortListener&&=(_.on(`close`,this.removeAbortListener),null),this.callback=null,this.res=_,i!==null)try{this.runInAsyncScope(i,null,null,{statusCode:t,statusText:r,headers:p,trailers:this.trailers,opaque:o,body:_,context:s})}catch(e){this.res=null,c.destroy(_.on(`error`,l),e),queueMicrotask(()=>{throw e})}}onResponseData(e,t){this.res&&this.res.push(t)===!1&&e.pause()}onResponseEnd(e,t){if(t&&typeof t==`object`)for(let e of Object.keys(t))e===`__proto__`?Object.defineProperty(this.trailers,e,{value:t[e],enumerable:!0,configurable:!0,writable:!0}):this.trailers[e]=t[e];this.res?.push(null)}onResponseError(e,t){let{res:n,callback:r,body:i,opaque:a}=this;r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,t,{opaque:a})})),n&&(this.res=null,queueMicrotask(()=>{c.destroy(n.on(`error`,l),t)})),i&&(this.body=null,c.isStream(i)&&(i.on(`error`,l),c.destroy(i,t))),this.removeAbortListener&&=(this.removeAbortListener(),null)}};function d(e,t){if(t===void 0)return new Promise((t,n)=>{d.call(this,e,(e,r)=>e?n(e):t(r))});try{let n=new u(e,t);this.dispatch(e,n)}catch(n){if(typeof t!=`function`)throw n;let r=e?.opaque;queueMicrotask(()=>t(n,{opaque:r}))}}n.exports=d,n.exports.RequestHandler=u})),Xs=t(((e,t)=>{var{addAbortListener:n}=$(),{RequestAbortedError:r}=Q(),i=Symbol(`kListener`),a=Symbol(`kSignal`);function o(e){e.abort?e.abort(e[a]?.reason):e.reason=e[a]?.reason??new r,c(e)}function s(e,t){if(e.reason=null,e[a]=null,e[i]=null,t){if(t.aborted){o(e);return}e[a]=t,e[i]=()=>{o(e)},n(e[a],e[i])}}function c(e){e[a]&&(`removeEventListener`in e[a]?e[a].removeEventListener(`abort`,e[i]):e[a].removeListener(`abort`,e[i]),e[a]=null,e[i]=null)}t.exports={addSignal:s,removeSignal:c}})),Zs=t(((t,n)=>{var r=e(`node:assert`),{AsyncResource:i}=e(`node:async_hooks`),{InvalidArgumentError:a,InvalidReturnValueError:o}=Q(),s=$(),{addSignal:c,removeSignal:l}=Xs();function u(){}function d(e){return e.errored??e.writableErrored??e._writableState?.errored}function f(){let e=Error(`Premature close`);return e.code=`ERR_STREAM_PREMATURE_CLOSE`,e}function p(e,t){let n=!1,r=()=>{e.removeListener(`close`,a),e.removeListener(`error`,o),e.removeListener(`finish`,s)},i=(e,i=!1)=>{n||(n=!0,r(),t(e,i))},a=()=>{let t=d(e);i(t??(e.writableFinished?void 0:f()))},o=e=>i(e,!0),s=()=>i();e.on(`close`,a),e.on(`error`,o),e.on(`finish`,s),e.closed?process.nextTick(a):e.writableFinished&&process.nextTick(s)}var m=class extends i{constructor(e,t,n){if(!e||typeof e!=`object`)throw new a(`invalid opts`);let{signal:r,method:i,opaque:o,body:l,onInfo:d,responseHeaders:f}=e;try{if(typeof n!=`function`)throw new a(`invalid callback`);if(typeof t!=`function`)throw new a(`invalid factory`);if(r&&typeof r.on!=`function`&&typeof r.addEventListener!=`function`)throw new a(`signal must be an EventEmitter or EventTarget`);if(i===`CONNECT`)throw new a(`invalid method`);if(d&&typeof d!=`function`)throw new a(`invalid onInfo callback`);super(`UNDICI_STREAM`)}catch(e){throw s.isStream(l)&&s.destroy(l.on(`error`,u),e),e}this.responseHeaders=f||null,this.opaque=o||null,this.factory=t,this.callback=n,this.res=null,this.abort=null,this.context=null,this.controller=null,this.trailers=null,this.body=l,this.onInfo=d||null,s.isStream(l)&&l.on(`error`,e=>{this.onResponseError(this.controller,e)}),c(this,r)}onRequestStart(e,t){if(this.reason){e.abort(this.reason);return}r(this.callback),this.controller=e,this.abort=t=>e.abort(t),this.context=t}onResponseStart(e,t,n,r){let{factory:i,opaque:a,context:c,responseHeaders:l}=this,u=e?.rawHeaders,d=l===`raw`?s.parseRawHeaders(u):n;if(t<200){this.onInfo&&this.onInfo({statusCode:t,headers:d});return}if(this.factory=null,i===null)return;let f=this.runInAsyncScope(i,null,{statusCode:t,headers:d,opaque:a,context:c});if(!f||typeof f.write!=`function`||typeof f.end!=`function`||typeof f.on!=`function`)throw new o(`expected Writable`);p(f,(e,t)=>{let{callback:n,res:r,opaque:i,trailers:a,abort:o}=this;this.res=null,(e||!r?.readable)&&s.destroy(r,t?void 0:e),this.callback=null,this.runInAsyncScope(n,null,e||null,{opaque:i,trailers:a}),e&&o(e)}),f.on(`drain`,()=>e.resume()),this.res=f,(f.writableNeedDrain===void 0?f._writableState?.needDrain:f.writableNeedDrain)===!0&&e.pause()}onResponseData(e,t){let{res:n}=this;n&&n.write(t)===!1&&e.pause()}onResponseEnd(e,t){let{res:n}=this;l(this),n&&(t&&typeof t==`object`&&(this.trailers=t),n.end())}onResponseError(e,t){let{res:n,callback:r,opaque:i,body:a}=this;l(this),this.factory=null,n?(this.res=null,s.destroy(n,t)):r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,t,{opaque:i})})),a&&(this.body=null,s.destroy(a,t))}};function h(e,t,n){if(n===void 0)return new Promise((n,r)=>{h.call(this,e,t,(e,t)=>e?r(e):n(t))});try{let r=new m(e,t,n);this.dispatch(e,r)}catch(t){if(typeof n!=`function`)throw t;let r=e?.opaque;queueMicrotask(()=>n(t,{opaque:r}))}}n.exports=h})),Qs=t(((t,n)=>{var{Readable:r,Duplex:i,PassThrough:a}=e(`node:stream`),o=e(`node:assert`),{AsyncResource:s}=e(`node:async_hooks`),{InvalidArgumentError:c,InvalidReturnValueError:l,RequestAbortedError:u}=Q(),d=$(),{kBodyUsed:f}=Z(),{addSignal:p,removeSignal:m}=Xs();function h(){}var g=Symbol(`resume`),_=class extends r{constructor(){super({autoDestroy:!0}),this[g]=null,this[f]=!0}_read(){let{[g]:e}=this;e&&(this[g]=null,e())}_destroy(e,t){this._read(),t(e)}},v=class extends r{constructor(e){super({autoDestroy:!0}),this[g]=e}_read(){this[g]()}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new u),t(e)}},y=class extends s{constructor(e,t){if(!e||typeof e!=`object`)throw new c(`invalid opts`);if(typeof t!=`function`)throw new c(`invalid handler`);let{signal:n,method:r,opaque:a,onInfo:o,responseHeaders:s}=e;if(n&&typeof n.on!=`function`&&typeof n.addEventListener!=`function`)throw new c(`signal must be an EventEmitter or EventTarget`);if(r===`CONNECT`)throw new c(`invalid method`);if(o&&typeof o!=`function`)throw new c(`invalid onInfo callback`);super(`UNDICI_PIPELINE`),this.opaque=a||null,this.responseHeaders=s||null,this.handler=t,this.abort=null,this.context=null,this.onInfo=o||null,this.req=new _().on(`error`,h),this.ret=new i({readableObjectMode:e.objectMode,autoDestroy:!0,read:()=>{let{body:e}=this;e?.resume&&e.resume()},write:(e,t,n)=>{let{req:r}=this;r.push(e,t)||r._readableState.destroyed?n():r[g]=n},destroy:(e,t)=>{let{body:n,req:r,res:i,ret:a,abort:o}=this;!e&&!a._readableState.endEmitted&&(e=new u),o&&e&&o(),d.destroy(n,e),d.destroy(r,e),d.destroy(i,e),m(this),t(e)}}).on(`prefinish`,()=>{let{req:e}=this;e.push(null)}),this.res=null,p(this,n)}onRequestStart(e,t){let{res:n}=this;if(this.reason){e.abort(this.reason);return}o(!n,`pipeline cannot be retried`),this.abort=t=>e.abort(t),this.context=t}onResponseStart(e,t,n,r){let{opaque:i,handler:a,context:o}=this;if(t<200){if(this.onInfo){let r=e?.rawHeaders,i=this.responseHeaders===`raw`?d.parseRawHeaders(r):n;this.onInfo({statusCode:t,headers:i})}return}this.res=new v(()=>e.resume());let s;try{this.handler=null;let r=e?.rawHeaders,c=this.responseHeaders===`raw`?d.parseRawHeaders(r):n;s=this.runInAsyncScope(a,null,{statusCode:t,headers:c,opaque:i,body:this.res,context:o})}catch(e){throw this.res.on(`error`,h),e}if(!s||typeof s.on!=`function`)throw new l(`expected Readable`);s.on(`data`,e=>{let{ret:t,body:n}=this;!t.push(e)&&n.pause&&n.pause()}).on(`error`,e=>{let{ret:t}=this;d.destroy(t,e)}).on(`end`,()=>{let{ret:e}=this;e.push(null)}).on(`close`,()=>{let{ret:e}=this;e._readableState.ended||d.destroy(e,new u)}),this.body=s}onResponseData(e,t){let{res:n}=this;n.push(t)===!1&&e.pause()}onResponseEnd(e,t){let{res:n}=this;n.push(null)}onResponseError(e,t){let{ret:n}=this;this.handler=null,d.destroy(n,t)}};function b(e,t){try{let n=new y(e,t);return this.dispatch({...e,body:n.req},n),n.ret}catch(e){return new a().destroy(e)}}n.exports=b})),$s=t(((t,n)=>{var{InvalidArgumentError:r,SocketError:i}=Q(),{AsyncResource:a}=e(`node:async_hooks`),o=e(`node:assert`),s=$(),{kHTTP2Stream:c}=Z(),{addSignal:l,removeSignal:u}=Xs(),d=class extends a{constructor(e,t){if(!e||typeof e!=`object`)throw new r(`invalid opts`);if(typeof t!=`function`)throw new r(`invalid callback`);let{signal:n,opaque:i,responseHeaders:a}=e;if(n&&typeof n.on!=`function`&&typeof n.addEventListener!=`function`)throw new r(`signal must be an EventEmitter or EventTarget`);super(`UNDICI_UPGRADE`),this.responseHeaders=a||null,this.opaque=i||null,this.callback=t,this.abort=null,this.context=null,l(this,n)}onRequestStart(e,t){if(this.reason){e.abort(this.reason);return}o(this.callback),this.abort=t=>e.abort(t),this.context=t}onResponseStart(){throw new i(`bad upgrade`,null)}onRequestUpgrade(e,t,n,r){if(t!==(r[c]===!0?200:101)){let t=r[c]===!0?null:s.getSocketInfo(r);e.abort(new i(`bad upgrade`,t));return}let{callback:a,opaque:o,context:l}=this;u(this),this.callback=null;let d=e?.rawHeaders,f=this.responseHeaders===`raw`?s.parseRawHeaders(d):n;this.runInAsyncScope(a,null,null,{headers:f,socket:r,opaque:o,context:l})}onResponseError(e,t){let{callback:n,opaque:r}=this;u(this),n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,t,{opaque:r})}))}};function f(e,t){if(t===void 0)return new Promise((t,n)=>{f.call(this,e,(e,r)=>e?n(e):t(r))});try{let n=new d(e,t),r={...e,method:e.method||`GET`,upgrade:e.protocol||`Websocket`};this.dispatch(r,n)}catch(n){if(typeof t!=`function`)throw n;let r=e?.opaque;queueMicrotask(()=>t(n,{opaque:r}))}}n.exports=f})),ec=t(((t,n)=>{var r=e(`node:assert`),{AsyncResource:i}=e(`node:async_hooks`),{InvalidArgumentError:a,SocketError:o}=Q(),s=$(),{addSignal:c,removeSignal:l}=Xs(),u=class extends i{constructor(e,t){if(!e||typeof e!=`object`)throw new a(`invalid opts`);if(typeof t!=`function`)throw new a(`invalid callback`);let{signal:n,opaque:r,responseHeaders:i}=e;if(n&&typeof n.on!=`function`&&typeof n.addEventListener!=`function`)throw new a(`signal must be an EventEmitter or EventTarget`);super(`UNDICI_CONNECT`),this.opaque=r||null,this.responseHeaders=i||null,this.callback=t,this.abort=null,c(this,n)}onRequestStart(e,t){if(this.reason){e.abort(this.reason);return}r(this.callback),this.abort=t=>e.abort(t),this.context=t}onResponseStart(){throw new o(`bad connect`,null)}onRequestUpgrade(e,t,n,r){let{callback:i,opaque:a,context:o}=this;l(this),this.callback=null;let c=n,u=e?.rawHeaders;c!=null&&(c=this.responseHeaders===`raw`?s.parseRawHeaders(u):n),this.runInAsyncScope(i,null,null,{statusCode:t,headers:c,socket:r,opaque:a,context:o})}onResponseError(e,t){let{callback:n,opaque:r}=this;l(this),n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,t,{opaque:r})}))}};function d(e,t){if(t===void 0)return new Promise((t,n)=>{d.call(this,e,(e,r)=>e?n(e):t(r))});try{let n=new u(e,t),r={...e,method:`CONNECT`};this.dispatch(r,n)}catch(n){if(typeof t!=`function`)throw n;let r=e?.opaque;queueMicrotask(()=>t(n,{opaque:r}))}}n.exports=d})),tc=t(((e,t)=>{t.exports.request=Ys(),t.exports.stream=Zs(),t.exports.pipeline=Qs(),t.exports.upgrade=$s(),t.exports.connect=ec()})),nc=t(((e,t)=>{var{UndiciError:n}=Q(),r=Symbol.for(`undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED`);t.exports={MockNotMatchedError:class extends n{constructor(e){super(e),this.name=`MockNotMatchedError`,this.message=e||`The request does not match any registered mock dispatches`,this.code=`UND_MOCK_ERR_MOCK_NOT_MATCHED`}static[Symbol.hasInstance](e){return e&&e[r]===!0}get[r](){return!0}}}})),rc=t(((e,t)=>{t.exports={kAgent:Symbol(`agent`),kOptions:Symbol(`options`),kFactory:Symbol(`factory`),kDispatches:Symbol(`dispatches`),kDispatchKey:Symbol(`dispatch key`),kDefaultHeaders:Symbol(`default headers`),kDefaultTrailers:Symbol(`default trailers`),kContentLength:Symbol(`content length`),kMockAgent:Symbol(`mock agent`),kMockAgentSet:Symbol(`mock agent set`),kMockAgentGet:Symbol(`mock agent get`),kMockDispatch:Symbol(`mock dispatch`),kClose:Symbol(`close`),kOriginalClose:Symbol(`original agent close`),kOriginalDispatch:Symbol(`original dispatch`),kOrigin:Symbol(`origin`),kIsMockActive:Symbol(`is mock active`),kNetConnect:Symbol(`net connect`),kGetNetConnect:Symbol(`get net connect`),kConnected:Symbol(`connected`),kIgnoreTrailingSlash:Symbol(`ignore trailing slash`),kMockAgentMockCallHistoryInstance:Symbol(`mock agent mock call history name`),kMockAgentRegisterCallHistory:Symbol(`mock agent register mock call history`),kMockAgentAddCallHistoryLog:Symbol(`mock agent add call history log`),kMockAgentIsCallHistoryEnabled:Symbol(`mock agent is call history enabled`),kMockAgentAcceptsNonStandardSearchParameters:Symbol(`mock agent accepts non standard search parameters`),kMockCallHistoryAddLog:Symbol(`mock call history add log`),kTotalDispatchCount:Symbol(`total dispatch count`)}})),ic=t(((t,n)=>{var{MockNotMatchedError:r}=nc(),{kDispatches:i,kMockAgent:a,kOriginalDispatch:o,kOrigin:s,kGetNetConnect:c,kTotalDispatchCount:l}=rc(),{serializePathWithQuery:u,parseHeaders:d}=$(),{STATUS_CODES:f}=e(`node:http`),{types:{isPromise:p}}=e(`node:util`),{InvalidArgumentError:m}=Q(),h=Symbol(`request aborted`);function g(e,t){return typeof e==`string`?e===t:e instanceof RegExp?e.test(t):typeof e==`function`&&e(t)===!0}function _(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e.toLocaleLowerCase(),t]))}function v(e,t){if(Array.isArray(e)){for(let n=0;n<e.length;n+=2)if(e[n].toLocaleLowerCase()===t.toLocaleLowerCase())return e[n+1];return}return typeof e.get==`function`?e.get(t):_(e)[t.toLocaleLowerCase()]}function y(e){let t=e.slice(),n=[];for(let e=0;e<t.length;e+=2)n.push([t[e],t[e+1]]);return Object.fromEntries(n)}function b(e,t){if(typeof e.headers==`function`)return Array.isArray(t)&&(t=y(t)),e.headers(t?_(t):{});if(e.headers===void 0)return!0;if(typeof t!=`object`||typeof e.headers!=`object`)return!1;for(let[n,r]of Object.entries(e.headers))if(!g(r,v(t,n)))return!1;return!0}function x(e){if(typeof e!=`string`)return e;let t=new URLSearchParams(e),n=new URLSearchParams;for(let[e,r]of t.entries()){if(e=e.replace(`[]`,``),/^(['"]).*\1$/.test(r)){n.append(e,r);continue}if(r.includes(`,`)){let t=r.split(`,`);for(let r of t)n.append(e,r);continue}n.append(e,r)}return n}function S(e){if(typeof e!=`string`)return e;let t=e.split(`?`,3);if(t.length!==2)return e;let n=new URLSearchParams(t.pop());return n.sort(),[...t,n.toString()].join(`?`)}function C(e,{path:t,method:n,body:r,headers:i}){let a=g(e.path,t),o=g(e.method,n),s=e.body===void 0||g(e.body,r),c=b(e,i);return a&&o&&s&&c}function w(e){return Buffer.isBuffer(e)||e instanceof Uint8Array||e instanceof ArrayBuffer?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):typeof e==`object`?JSON.stringify(e):e?e.toString():``}function T(e,t){let n=t.query?u(t.path,t.query):t.path,i=typeof n==`string`?S(n):n,a=O(i),o=e.filter(({consumed:e})=>!e).filter(({path:e,ignoreTrailingSlash:t})=>t?g(O(S(e)),a):g(S(e),i));if(o.length===0)throw new r(`Mock dispatch not matched for path '${i}'`);if(o=o.filter(({method:e})=>g(e,t.method)),o.length===0)throw new r(`Mock dispatch not matched for method '${t.method}' on path '${i}'`);if(o=o.filter(({body:e})=>e===void 0||g(e,t.body)),o.length===0)throw new r(`Mock dispatch not matched for body '${t.body}' on path '${i}'`);if(o=o.filter(e=>b(e,t.headers)),o.length===0)throw new r(`Mock dispatch not matched for headers '${typeof t.headers==`object`?JSON.stringify(t.headers):t.headers}' on path '${i}'`);return o[0]}function E(e,t,n,r){let i={timesInvoked:0,times:1,persist:!1,consumed:!1,...r},a=typeof n==`function`?{callback:n}:{...n},o={...i,...t,pending:!0,data:{error:null,...a}};return e.push(o),e[l]=(e[l]||0)+1,o}function D(e,t){let n=e.findIndex(e=>e.consumed?C(e,t):!1);n!==-1&&e.splice(n,1)}function O(e){if(typeof e!=`string`)return e;for(;e.endsWith(`/`);)e=e.slice(0,-1);return e.length===0&&(e=`/`),e}function k(e){let{path:t,method:n,body:r,headers:i,query:a}=e;return{path:t,method:n,body:r,headers:i,query:a}}function A(e){let t=Object.keys(e),n=[];for(let r=0;r<t.length;++r){let i=t[r],a=e[i],o=Buffer.from(`${i}`);if(Array.isArray(a))for(let e=0;e<a.length;++e)n.push(o,Buffer.from(`${a[e]}`));else n.push(o,Buffer.from(`${a}`))}return n}function j(e){return f[e]||`unknown`}async function M(e){let t=[];for await(let n of e)t.push(n);return Buffer.concat(t).toString(`utf8`)}function N(e,t){let n=k(e),r=T(this[i],n),a=this[i];r.timesInvoked++;let{timesInvoked:o,times:s}=r;r.consumed=!r.persist&&o>=s,r.pending=o<s;let c=typeof t.onBodySent==`function`||typeof t.onRequestSent==`function`;if(r.data.callback&&(!c||e.body==null)){let{callback:i,...o}=r.data,s=i(e);if(p(s))return s.then(i=>{if(typeof i!=`object`||!i){t.onResponseError(null,new m(`reply options callback must return an object`));return}P(a,r,n,e,t,{...o,...i})},e=>{t.onResponseError(null,e)}),!0;if(typeof s!=`object`||!s)throw new m(`reply options callback must return an object`);return P(a,r,n,e,t,{...o,...s})}return P(a,r,n,e,t)}function P(e,t,n,r,i,a){let{data:o,delay:s}=t,c=a??o;if(c.error!==null)return D(e,n),i.onResponseError(null,c.error),!0;let l=!1,u=null,f={paused:!1,rawHeaders:null,rawTrailers:null,pause(){this.paused=!0},resume(){this.paused=!1},abort:e=>{l||(l=!0,u!==null&&(clearTimeout(u),u=null),i.onResponseError?.(f,e))}},g=r,_=e;if(i.onRequestStart?.(f,null),l)return!0;let v=F(r.body,i,f,()=>l);if(p(v))return v.then(e=>{e!==h&&(e!==r.body&&(g={...r,body:e}),b())},e=>f.abort(e)),!0;if(v===h)return!0;v!==r.body&&(g={...r,body:v}),b();function b(){if(c.callback){let{callback:t,...r}=c,a;try{a=t(g)}catch(t){D(e,n),i.onResponseError(null,t);return}if(p(a)){a.then(e=>{if(typeof e!=`object`||!e){i.onResponseError(null,new m(`reply options callback must return an object`));return}x(_,{...r,...e})},e=>{i.onResponseError(null,e)});return}if(typeof a!=`object`||!a)throw new m(`reply options callback must return an object`);x(_,{...r,...a});return}typeof s==`number`&&s>0?u=setTimeout(()=>{u=null,x(_)},s):x(_)}function x(e,t=c){if(l)return;let{statusCode:a,data:o,headers:s,trailers:u}=t,m=Array.isArray(r.headers)?y(r.headers):r.headers,h=typeof o==`function`?o({...g,headers:m}):o;if(p(h))return h.then(n=>x(e,{...t,data:n}));if(l)return;let _=w(h),v=A(s??{}),b=A(u??{});f.rawHeaders=v,f.rawTrailers=b,i.onResponseStart?.(f,a,d(v),j(a)),i.onResponseData?.(f,Buffer.from(_)),i.onResponseEnd?.(f,d(b)),D(e,n)}return!0}function F(e,t,n,r){if(typeof t.onBodySent!=`function`&&typeof t.onRequestSent!=`function`)return e;if(e==null)return R(t,n,r)?e:h;if(e&&typeof e[Symbol.asyncIterator]==`function`)return I(e,t,n,r);if(z(e)){let i=[];for(let a of e)if(r()||(i.push(a),!L(t,n,a)||r()))return h;return R(t,n,r)?i:h}return r()||!L(t,n,e)?h:R(t,n,r)?e:h}async function I(e,t,n,r){let i=[];for await(let a of e)if(r()||(i.push(a),!L(t,n,a)||r()))return h;return R(t,n,r)?{async*[Symbol.asyncIterator](){yield*i}}:h}function L(e,t,n){try{return e.onBodySent?.(n),!0}catch(e){return t.abort(e),!1}}function R(e,t,n){try{return e.onRequestSent?.(),!n()}catch(e){return t.abort(e),!1}}function z(e){return typeof e!=`string`&&!Buffer.isBuffer(e)&&!ArrayBuffer.isView(e)&&typeof e[Symbol.iterator]==`function`}function B(){let e=this[a],t=this[s],n=this[o];return function(a,o){if(e.isMockActive)try{N.call(this,a,o)}catch(s){if(s.code===`UND_MOCK_ERR_MOCK_NOT_MATCHED`){let u=e[c](),d=this[i][l]||this[i].length,f=`, ${this[i].filter(({consumed:e})=>!e).length} interceptor(s) remaining out of ${d} defined`;if(u===!1)throw new r(`${s.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)${f}`);if(V(u,t))n.call(this,`__mockAgentBodyForDispatch`in a?{...a,body:a.__mockAgentBodyForDispatch}:a,o);else throw new r(`${s.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)${f}`)}else throw s}else n.call(this,a,o)}}function V(e,t){let n=new URL(t);return!!(e===!0||Array.isArray(e)&&e.some(e=>g(e,n.host)))}function ee(e){return typeof e!=`string`&&!(e instanceof URL)?e:e instanceof URL?e.origin:e.toLowerCase()}function H(e){let{agent:t,...n}=e;if(`enableCallHistory`in n&&typeof n.enableCallHistory!=`boolean`)throw new m(`options.enableCallHistory must to be a boolean`);if(`acceptNonStandardSearchParameters`in n&&typeof n.acceptNonStandardSearchParameters!=`boolean`)throw new m(`options.acceptNonStandardSearchParameters must to be a boolean`);if(`ignoreTrailingSlash`in n&&typeof n.ignoreTrailingSlash!=`boolean`)throw new m(`options.ignoreTrailingSlash must to be a boolean`);return n}n.exports={getResponseData:w,getMockDispatch:T,addMockDispatch:E,deleteMockDispatch:D,buildKey:k,generateKeyValues:A,matchValue:g,getResponse:M,getStatusText:j,mockDispatch:N,buildMockDispatch:B,checkNetConnect:V,buildAndValidateMockOptions:H,getHeaderByName:v,buildHeadersFromArray:y,normalizeSearchParams:x,normalizeOrigin:ee}})),ac=t(((t,n)=>{var{getResponseData:r,buildKey:i,addMockDispatch:a}=ic(),{kDispatches:o,kDispatchKey:s,kDefaultHeaders:c,kDefaultTrailers:l,kContentLength:u,kMockDispatch:d,kIgnoreTrailingSlash:f}=rc(),{InvalidArgumentError:p}=Q(),{serializePathWithQuery:m}=$(),{types:{isPromise:h}}=e(`node:util`),g=class{constructor(e){this[d]=e}delay(e){if(typeof e!=`number`||!Number.isInteger(e)||e<=0)throw new p(`waitInMs must be a valid integer > 0`);return this[d].delay=e,this}persist(){return this[d].persist=!0,this}times(e){if(typeof e!=`number`||!Number.isInteger(e)||e<=0)throw new p(`repeatTimes must be a valid integer > 0`);return this[d].times=e,this}},_=class{constructor(e,t){if(typeof e!=`object`)throw new p(`opts must be an object`);if(e.path===void 0)throw new p(`opts.path must be defined`);if(e.method===void 0&&(e.method=`GET`),typeof e.path==`string`){if(e.query)e.path=m(e.path,e.query);else{let t=new URL(e.path,`data://`);e.path=t.pathname+t.search}}typeof e.method==`string`&&(e.method=e.method.toUpperCase()),this[s]=i(e),this[o]=t,this[f]=e.ignoreTrailingSlash??!1,this[c]={},this[l]={},this[u]=!1}createMockScopeDispatchData({statusCode:e,data:t,responseOptions:n}){let i=r(t),a=this[u]?{"content-length":i.length}:{};return{statusCode:e,data:t,headers:{...this[c],...a,...n.headers},trailers:{...this[l],...n.trailers}}}validateReplyParameters(e){if(e.statusCode===void 0)throw new p(`statusCode must be defined`);if(typeof e.responseOptions!=`object`||e.responseOptions===null)throw new p(`responseOptions must be an object`)}reply(e){if(typeof e==`function`){let t=e=>{if(typeof e!=`object`||!e)throw new p(`reply options callback must return an object`);let t={data:``,responseOptions:{},...e};return this.validateReplyParameters(t),{...this.createMockScopeDispatchData(t)}};return new g(a(this[o],this[s],n=>{let r=e(n);return h(r)?r.then(t):t(r)},{ignoreTrailingSlash:this[f]}))}let t={statusCode:e,data:arguments[1]===void 0?``:arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(t);let n=this.createMockScopeDispatchData(t);return new g(a(this[o],this[s],n,{ignoreTrailingSlash:this[f]}))}replyWithError(e){if(e===void 0)throw new p(`error must be defined`);return new g(a(this[o],this[s],{error:e},{ignoreTrailingSlash:this[f]}))}defaultReplyHeaders(e){if(e===void 0)throw new p(`headers must be defined`);return this[c]=e,this}defaultReplyTrailers(e){if(e===void 0)throw new p(`trailers must be defined`);return this[l]=e,this}replyContentLength(){return this[u]=!0,this}};n.exports.MockInterceptor=_,n.exports.MockScope=g})),oc=t(((t,n)=>{var{promisify:r}=e(`node:util`),i=Ms(),{buildMockDispatch:a}=ic(),{kDispatches:o,kMockAgent:s,kClose:c,kOriginalClose:l,kOrigin:u,kOriginalDispatch:d,kConnected:f,kIgnoreTrailingSlash:p}=rc(),{MockInterceptor:m}=ac(),h=Z(),{InvalidArgumentError:g}=Q();n.exports=class extends i{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!=`function`)throw new g(`Argument opts.agent must implement Agent`);super(e,t),this[s]=t.agent,this[u]=e,this[p]=t.ignoreTrailingSlash??!1,this[o]=[],this[f]=1,this[d]=this.dispatch,this[l]=this.close.bind(this),this.dispatch=a.call(this),this.close=this[c]}get[h.kConnected](){return this[f]}intercept(e){return new m(e&&{ignoreTrailingSlash:this[p],...e},this[o])}cleanMocks(){this[o]=[]}async[c](){await r(this[l])(),this[f]=0,this[s][h.kClients].delete(this[u])}}})),sc=t(((e,t)=>{var{kMockCallHistoryAddLog:n}=rc(),{InvalidArgumentError:r}=Q();function i(e,t,n,i,a){switch(t.operator){case`OR`:return i.push(...n(e,a)),i;case`AND`:return n(e,i);default:throw new r(`options.operator must to be a case insensitive string equal to 'OR' or 'AND'`)}}function a(e={}){let t={};if(`operator`in e){if(typeof e.operator!=`string`||e.operator.toUpperCase()!==`OR`&&e.operator.toUpperCase()!==`AND`)throw new r(`options.operator must to be a case insensitive string equal to 'OR' or 'AND'`);return{...t,operator:e.operator.toUpperCase()}}return t}function o(e){return(t,n=this.logs)=>{if(typeof t==`string`||t==null)return n.filter(n=>n[e]===t);if(t instanceof RegExp)return n.filter(n=>t.test(n[e]));throw new r(`${e} parameter should be one of string, regexp, undefined or null`)}}function s(e){try{let t=new URL(e.path,e.origin);return t.search.length===0&&(t.search=new URLSearchParams(e.query).toString()),t}catch(e){throw new r(`An error occurred when computing MockCallHistoryLog.url`,{cause:e})}}var c=class{constructor(e={}){this.body=e.body,this.headers=e.headers,this.method=e.method;let t=s(e);this.fullUrl=t.toString(),this.origin=t.origin,this.path=t.pathname,this.searchParams=Object.fromEntries(t.searchParams),this.protocol=t.protocol,this.host=t.host,this.port=t.port,this.hash=t.hash}toMap(){return new Map([[`protocol`,this.protocol],[`host`,this.host],[`port`,this.port],[`origin`,this.origin],[`path`,this.path],[`hash`,this.hash],[`searchParams`,this.searchParams],[`fullUrl`,this.fullUrl],[`method`,this.method],[`body`,this.body],[`headers`,this.headers]])}toString(){let e={betweenKeyValueSeparator:`->`,betweenPairSeparator:`|`},t=``;return this.toMap().forEach((n,r)=>{(typeof n==`string`||n==null)&&(t=`${t}${r}${e.betweenKeyValueSeparator}${n}${e.betweenPairSeparator}`),(typeof n==`object`&&n||Array.isArray(n))&&(t=`${t}${r}${e.betweenKeyValueSeparator}${JSON.stringify(n)}${e.betweenPairSeparator}`)}),t.slice(0,-1)}},l=class{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(e){if(typeof e!=`number`)throw new r(`nthCall must be called with a number`);if(!Number.isInteger(e))throw new r(`nthCall must be called with an integer`);if(Math.sign(e)!==1)throw new r(`nthCall must be called with a positive value. use firstCall or lastCall instead`);return this.logs.at(e-1)}filterCalls(e,t){if(this.logs.length===0)return this.logs;if(typeof e==`function`)return this.logs.filter(e);if(e instanceof RegExp)return this.logs.filter(t=>e.test(t.toString()));if(typeof e==`object`&&e){if(Object.keys(e).length===0)return this.logs;let n={operator:`OR`,...a(t)},r=n.operator===`AND`?this.logs:[];return`protocol`in e&&(r=i(e.protocol,n,this.filterCallsByProtocol,r,this.logs)),`host`in e&&(r=i(e.host,n,this.filterCallsByHost,r,this.logs)),`port`in e&&(r=i(e.port,n,this.filterCallsByPort,r,this.logs)),`origin`in e&&(r=i(e.origin,n,this.filterCallsByOrigin,r,this.logs)),`path`in e&&(r=i(e.path,n,this.filterCallsByPath,r,this.logs)),`hash`in e&&(r=i(e.hash,n,this.filterCallsByHash,r,this.logs)),`fullUrl`in e&&(r=i(e.fullUrl,n,this.filterCallsByFullUrl,r,this.logs)),`method`in e&&(r=i(e.method,n,this.filterCallsByMethod,r,this.logs)),[...new Set(r)]}throw new r(`criteria parameter should be one of function, regexp, or object`)}filterCallsByProtocol=o.call(this,`protocol`);filterCallsByHost=o.call(this,`host`);filterCallsByPort=o.call(this,`port`);filterCallsByOrigin=o.call(this,`origin`);filterCallsByPath=o.call(this,`path`);filterCallsByHash=o.call(this,`hash`);filterCallsByFullUrl=o.call(this,`fullUrl`);filterCallsByMethod=o.call(this,`method`);clear(){this.logs=[]}[n](e){let t=new c(e);return this.logs.push(t),t}*[Symbol.iterator](){for(let e of this.calls())yield e}};t.exports.MockCallHistory=l,t.exports.MockCallHistoryLog=c})),cc=t(((t,n)=>{var{promisify:r}=e(`node:util`),i=Fs(),{buildMockDispatch:a}=ic(),{kDispatches:o,kMockAgent:s,kClose:c,kOriginalClose:l,kOrigin:u,kOriginalDispatch:d,kConnected:f,kIgnoreTrailingSlash:p}=rc(),{MockInterceptor:m}=ac(),h=Z(),{InvalidArgumentError:g}=Q();n.exports=class extends i{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!=`function`)throw new g(`Argument opts.agent must implement Agent`);super(e,t),this[s]=t.agent,this[u]=e,this[p]=t.ignoreTrailingSlash??!1,this[o]=[],this[f]=1,this[d]=this.dispatch,this[l]=this.close.bind(this),this.dispatch=a.call(this),this.close=this[c]}get[h.kConnected](){return this[f]}intercept(e){return new m(e&&{ignoreTrailingSlash:this[p],...e},this[o])}cleanMocks(){this[o]=[]}async[c](){await r(this[l])(),this[f]=0,this[s][h.kClients].delete(this[u])}}})),lc=t(((t,n)=>{var{Transform:r}=e(`node:stream`),{Console:i}=e(`node:console`),a=process.versions.icu?`✅`:`Y `,o=process.versions.icu?`❌`:`N `;n.exports=class{constructor({disableColors:e}={}){this.transform=new r({transform(e,t,n){n(null,e)}}),this.logger=new i({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){let t=e.map(({method:e,path:t,data:{statusCode:n},persist:r,times:i,timesInvoked:s,origin:c})=>({Method:e,Origin:c,Path:t,"Status code":n,Persistent:r?a:o,Invocations:s,Remaining:r?1/0:i-s}));return this.logger.table(t),this.transform.read().toString()}}})),uc=t(((e,t)=>{var{kClients:n}=Z(),r=Rs(),{kAgent:i,kMockAgentSet:a,kMockAgentGet:o,kDispatches:s,kIsMockActive:c,kNetConnect:l,kGetNetConnect:u,kOptions:d,kFactory:f,kMockAgentRegisterCallHistory:p,kMockAgentIsCallHistoryEnabled:m,kMockAgentAddCallHistoryLog:h,kMockAgentMockCallHistoryInstance:g,kMockAgentAcceptsNonStandardSearchParameters:_,kMockCallHistoryAddLog:v,kIgnoreTrailingSlash:y}=rc(),b=oc(),x=cc(),{matchValue:S,normalizeSearchParams:C,buildAndValidateMockOptions:w,normalizeOrigin:T}=ic(),{InvalidArgumentError:E,UndiciError:D}=Q(),O=fs(),k=lc(),{MockCallHistory:A}=sc();t.exports=class extends O{constructor(e={}){super(e);let t=w(e);if(this[l]=!0,this[c]=!0,this[m]=t.enableCallHistory??!1,this[_]=t.acceptNonStandardSearchParameters??!1,this[y]=t.ignoreTrailingSlash??!1,e?.agent&&typeof e.agent.dispatch!=`function`)throw new E(`Argument opts.agent must implement Agent`);let a=e?.agent?e.agent:new r(e);this[i]=a,this[n]=a[n],this[d]=t,this[m]&&this[p]()}get(e){let t=T(e),n=this[y]?t.replace(/\/$/,``):t,r=this[o](n);return r||(r=this[f](n),this[a](n,r)),r}dispatch(e,t){e.origin=T(e.origin);let r=this.get(e.origin);this[h](e);let o=this[_],c={...e};if(c.allowH2===!1){let e=`${c.origin}#http1-only`;if(!this[n].has(e)){let t=this[f](c.origin);t[s]=r[s],this[a](e,t)}}if(o&&c.path){let[e,t]=c.path.split(`?`);c.path=`${e}?${C(t,o)}`}return this[i].dispatch(c,t)}async close(){this.clearCallHistory(),await this[i].close(),this[n].clear()}deactivate(){this[c]=!1}activate(){this[c]=!0}enableNetConnect(e){if(typeof e==`string`||typeof e==`function`||e instanceof RegExp)Array.isArray(this[l])?this[l].push(e):this[l]=[e];else if(e===void 0)this[l]=!0;else throw new E(`Unsupported matcher. Must be one of String|Function|RegExp.`)}disableNetConnect(){this[l]=!1}enableCallHistory(){return this[m]=!0,this}disableCallHistory(){return this[m]=!1,this}getCallHistory(){return this[g]}clearCallHistory(){this[g]!==void 0&&this[g].clear()}get isMockActive(){return this[c]}[p](){this[g]===void 0&&(this[g]=new A)}[h](e){this[m]&&(this[p](),this[g][v](e))}[a](e,t){this[n].set(e,t)}[f](e){let t=Object.assign({agent:this},this[d]);return this[d]&&this[d].connections===1?new b(e,t):new x(e,t)}[o](e){let t=this[n].get(e);if(t)return t;if(typeof e!=`string`){let t=this[f](`http://localhost:9999`);return this[a](e,t),t}for(let[t,r]of Array.from(this[n]))if(r&&typeof t!=`string`&&S(t,e)){let t=this[f](e);return this[a](e,t),t[s]=r[s],t}}[u](){return this[l]}pendingInterceptors(){let e=this[n];return Array.from(e.entries()).flatMap(([e,t])=>t[s].map(t=>({...t,origin:e}))).filter(({pending:e})=>e)}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new k}={}){let t=this.pendingInterceptors();if(t.length!==0)throw new D(t.length===1?`1 interceptor is pending:\n\n${e.format(t)}`.trim():`${t.length} interceptors are pending:\n\n${e.format(t)}`.trim())}}})),dc=t(((t,n)=>{var{InvalidArgumentError:r}=Q(),{runtimeFeatures:i}=Es();function a(e={}){let{ignoreHeaders:t=[],excludeHeaders:n=[],matchHeaders:r=[],caseSensitive:i=!1}=e;return{ignore:new Set(t.map(e=>i?e:e.toLowerCase())),exclude:new Set(n.map(e=>i?e:e.toLowerCase())),match:new Set(r.map(e=>i?e:e.toLowerCase()))}}var o=i.has(`crypto`)?e(`node:crypto`):null,s=o?.hash?e=>o.hash(`sha256`,e,`base64url`):e=>Buffer.from(e).toString(`base64url`);function c(e){return Array.isArray(e)&&!(e.length&1)}function l(e=[]){return e.length===0?()=>!1:function(t){let n;for(let r of e)if(typeof r==`string`){if(n||=t.toLowerCase(),n.includes(r.toLowerCase()))return!0}else if(r instanceof RegExp&&r.test(t))return!0;return!1}}function u(e){let t={};if(!e)return t;if(c(e)){for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];if(r&&i!==void 0){let e=Buffer.isBuffer(r)?r.toString():r,n=Buffer.isBuffer(i)?i.toString():i;t[e.toLowerCase()]=n}}return t}if(e&&typeof e==`object`)for(let[n,r]of Object.entries(e))n&&typeof n==`string`&&(t[n.toLowerCase()]=Array.isArray(r)?r.join(`, `):String(r));return t}var d=[`record`,`playback`,`update`];function f(e){if(!d.includes(e))throw new r(`Invalid snapshot mode: ${e}. Must be one of: ${d.join(`, `)}`)}n.exports={createHeaderFilters:a,hashId:s,isUndiciHeaders:c,normalizeHeaders:u,isUrlExcludedFactory:l,validateSnapshotMode:f}})),fc=t(((t,n)=>{var{writeFile:r,readFile:i,mkdir:a}=e(`node:fs/promises`),{dirname:o,resolve:s}=e(`node:path`),{setTimeout:c,clearTimeout:l}=e(`node:timers`),{InvalidArgumentError:u,UndiciError:d}=Q(),{hashId:f,isUrlExcludedFactory:p,normalizeHeaders:m,createHeaderFilters:h}=dc();function g(e,t,n){if(t===!1)return`${e.origin}${e.pathname}`;if(n){let t=String(n(e.searchParams)??``);return t?`${e.origin}${e.pathname}?${t}`:`${e.origin}${e.pathname}`}return e.toString()}function _(e,t,n){return t===!1?``:n?String(n(e)??``):e?String(e):``}function v(e,t,n={}){let r=new URL(e.path,e.origin),i=e._normalizedHeaders||m(e.headers);return e._normalizedHeaders||=i,{method:e.method||`GET`,url:g(r,n.matchQuery,n.normalizeQuery),headers:y(i,t,n),body:_(e.body,n.matchBody,n.normalizeBody)}}function y(e,t,n={}){if(!e||typeof e!=`object`)return{};let{caseSensitive:r=!1}=n,i={},{ignore:a,exclude:o,match:s}=t;for(let[t,n]of Object.entries(e)){let e=r?t:t.toLowerCase();o.has(e)||a.has(e)||(s.size===0||s.has(e))&&(i[e]=n)}return i}function b(e,t,n={}){if(!e||typeof e!=`object`)return{};let{caseSensitive:r=!1}=n,i={},{exclude:a}=t;for(let[t,n]of Object.entries(e)){let e=r?t:t.toLowerCase();a.has(e)||(i[e]=n)}return i}function x(e){let t=[e.method,e.url];if(e.headers&&typeof e.headers==`object`){let n=Object.keys(e.headers).sort();for(let r of n){let n=Array.isArray(e.headers[r])?e.headers[r]:[e.headers[r]];t.push(r);for(let e of n.sort())t.push(String(e))}}return t.push(e.body),f(t.join(`|`))}n.exports={SnapshotRecorder:class{#e;#t;#n=new Map;#r;#i=1/0;#a=!1;#o;constructor(e={}){this.#r=e.snapshotPath,this.#i=e.maxSnapshots||1/0,this.#a=e.autoFlush||!1,this.flushInterval=e.flushInterval||3e4,this._flushTimer=null,this.matchOptions={matchHeaders:e.matchHeaders||[],ignoreHeaders:e.ignoreHeaders||[],excludeHeaders:e.excludeHeaders||[],matchBody:e.matchBody!==!1,normalizeBody:e.normalizeBody||void 0,matchQuery:e.matchQuery!==!1,normalizeQuery:e.normalizeQuery||void 0,caseSensitive:e.caseSensitive||!1},this.#o=h(this.matchOptions),this.shouldRecord=e.shouldRecord||(()=>!0),this.shouldPlayback=e.shouldPlayback||(()=>!0),this.#t=p(e.excludeUrls),this.#a&&this.#r&&this.#s()}async record(e,t){if(!this.shouldRecord(e)||this.isUrlExcluded(e))return;let n=v(e,this.#o,this.matchOptions),r=x(n),i=m(t.headers),a={statusCode:t.statusCode,headers:b(i,this.#o,this.matchOptions),body:Buffer.isBuffer(t.body)?t.body.toString(`base64`):Buffer.from(String(t.body||``)).toString(`base64`),trailers:t.trailers};if(this.#n.size>=this.#i&&!this.#n.has(r)){let e=this.#n.keys().next().value;this.#n.delete(e)}let o=this.#n.get(r);o&&o.responses?(o.responses.push(a),o.timestamp=new Date().toISOString()):this.#n.set(r,{request:n,responses:[a],callCount:0,timestamp:new Date().toISOString()}),this.#a&&this.#r&&this.#l()}isUrlExcluded(e){let t=new URL(e.path,e.origin).toString();return this.#t(t)}findSnapshot(e){if(!this.shouldPlayback(e)||this.isUrlExcluded(e))return;let t=x(v(e,this.#o,this.matchOptions)),n=this.#n.get(t);if(!n)return;let r=n.callCount||0,i=Math.min(r,n.responses.length-1);return n.callCount=r+1,{...n,response:n.responses[i]}}async loadSnapshots(e){let t=e||this.#r;if(!t)throw new u(`Snapshot path is required`);try{let e=await i(s(t),`utf8`),n=JSON.parse(e);if(Array.isArray(n)){this.#n.clear();for(let{hash:e,snapshot:t}of n)this.#n.set(e,t)}else this.#n=new Map(Object.entries(n))}catch(e){if(e.code===`ENOENT`)this.#n.clear();else throw new d(`Failed to load snapshots from ${t}`,{cause:e})}}async saveSnapshots(e){let t=e||this.#r;if(!t)throw new u(`Snapshot path is required`);let n=s(t);await a(o(n),{recursive:!0});let i=Array.from(this.#n.entries()).map(([e,t])=>({hash:e,snapshot:t}));await r(n,JSON.stringify(i,null,2),{flush:!0})}clear(){this.#n.clear()}getSnapshots(){return Array.from(this.#n.values())}size(){return this.#n.size}resetCallCounts(){for(let e of this.#n.values())e.callCount=0}deleteSnapshot(e){let t=x(v(e,this.#o,this.matchOptions));return this.#n.delete(t)}getSnapshotInfo(e){let t=x(v(e,this.#o,this.matchOptions)),n=this.#n.get(t);return n?{hash:t,request:n.request,responseCount:n.responses?n.responses.length:+!!n.response,callCount:n.callCount||0,timestamp:n.timestamp}:null}replaceSnapshots(e){if(this.#n.clear(),Array.isArray(e))for(let{hash:t,snapshot:n}of e)this.#n.set(t,n);else e&&typeof e==`object`&&(this.#n=new Map(Object.entries(e)))}#s(){return this.#l()}#c(){this.#e&&=(l(this.#e),this.saveSnapshots().catch(()=>{}),null)}#l(){this.#e=c(()=>{this.saveSnapshots().catch(()=>{}),this.#a?this.#e?.refresh():this.#e=null},1e3)}destroy(){this.#c(),this.#e&&=(l(this.#e),null)}async close(){this.#r&&this.#n.size!==0&&await this.saveSnapshots(),this.destroy()}},formatRequestKey:v,createRequestHash:x,filterHeadersForMatching:y,filterHeadersForStorage:b,createHeaderFilters:h}})),pc=t(((e,t)=>{var n=Rs(),r=uc(),{SnapshotRecorder:i}=fc(),{InvalidArgumentError:a,UndiciError:o}=Q(),s=$(),{validateSnapshotMode:c}=dc(),l=Symbol(`kSnapshotRecorder`),u=Symbol(`kSnapshotMode`),d=Symbol(`kSnapshotPath`),f=Symbol(`kSnapshotLoaded`),p=Symbol(`kRealAgent`),m=!1;t.exports=class extends r{constructor(e={}){m||=(process.emitWarning(`SnapshotAgent is experimental and subject to change`,`ExperimentalWarning`),!0);let{mode:t=`record`,snapshotPath:r=null,...o}=e;if(super(o),c(t),(t===`playback`||t===`update`)&&!r)throw new a(`snapshotPath is required when mode is '${t}'`);this[u]=t,this[d]=r,this[l]=new i({snapshotPath:this[d],mode:this[u],maxSnapshots:e.maxSnapshots,autoFlush:e.autoFlush,flushInterval:e.flushInterval,matchHeaders:e.matchHeaders,ignoreHeaders:e.ignoreHeaders,excludeHeaders:e.excludeHeaders,matchBody:e.matchBody,normalizeBody:e.normalizeBody,matchQuery:e.matchQuery,normalizeQuery:e.normalizeQuery,caseSensitive:e.caseSensitive,shouldRecord:e.shouldRecord,shouldPlayback:e.shouldPlayback,excludeUrls:e.excludeUrls}),this[f]=!1,(this[u]===`record`||this[u]===`update`||this[u]===`playback`&&e.excludeUrls&&e.excludeUrls.length>0)&&(this[p]=new n(e)),(this[u]===`playback`||this[u]===`update`)&&this[d]&&this.loadSnapshots().catch(()=>{})}dispatch(e,t){let n=this[u];if(this[l].isUrlExcluded(e))return this[p].dispatch(e,t);if(n===`playback`||n===`update`){if(!this[f])return this.#e(e,t);let r=this[l].findSnapshot(e);if(r)return this.#n(r,t);if(n===`update`)return this.#t(e,t);{let n=new o(`No snapshot found for ${e.method||`GET`} ${e.path}`);if(t.onResponseError){t.onResponseError(null,n);return}throw n}}if(n===`record`)return this.#t(e,t)}async#e(e,t){return await this.loadSnapshots(),this.dispatch(e,t)}#t(e,t){let n={statusCode:null,headers:{},trailers:{},body:[]},r=this;return this[p].dispatch(e,{onRequestStart(e,n){return t.onRequestStart(e,{...n,history:this.history})},onRequestUpgrade(e,n,r,i){return t.onRequestUpgrade(e,n,r,i)},onResponseStart(e,r,i,a){return n.statusCode=r,n.headers=i,t.onResponseStart(e,r,i,a)},onResponseData(e,r){return n.body.push(r),t.onResponseData(e,r)},onResponseEnd(i,a){n.trailers=a;let o=Buffer.concat(n.body);r[l].record(e,{statusCode:n.statusCode,headers:n.headers,body:o,trailers:n.trailers}).then(()=>t.onResponseEnd(i,a)).catch(e=>t.onResponseError(i,e))},onResponseError(e,n){return t.onResponseError(e,n)}})}#n(e,t){try{let{response:n}=e,r={rawHeaders:n.headers?s.toRawHeaders(n.headers):[],rawTrailers:n.trailers?s.toRawHeaders(n.trailers):[],pause(){},resume(){},abort(e){this.aborted=!0,this.reason=e},aborted:!1,paused:!1};t.onRequestStart(r),t.onResponseStart(r,n.statusCode,n.headers,n.statusMessage);let i=Buffer.from(n.body,`base64`);t.onResponseData(r,i),t.onResponseEnd(r,n.trailers)}catch(e){t.onResponseError?.(null,e)}}async loadSnapshots(e){await this[l].loadSnapshots(e||this[d]),this[f]=!0,this[u]===`playback`&&this.#r()}async saveSnapshots(e){return this[l].saveSnapshots(e||this[d])}#r(){for(let e of this[l].getSnapshots()){let{request:t,responses:n,response:r}=e,i=new URL(t.url),a=this.get(i.origin),o=n?n[0]:r;o&&a.intercept({path:i.pathname+i.search,method:t.method,headers:t.headers,body:t.body}).reply(o.statusCode,o.body,{headers:o.headers,trailers:o.trailers}).persist()}}getRecorder(){return this[l]}getMode(){return this[u]}clearSnapshots(){this[l].clear()}resetCallCounts(){this[l].resetCallCounts()}deleteSnapshot(e){return this[l].deleteSnapshot(e)}getSnapshotInfo(e){return this[l].getSnapshotInfo(e)}replaceSnapshots(e){this[l].replaceSnapshots(e)}async close(){this[u]===`playback`?this[l].destroy():await this[l].close(),await this[p]?.close(),await super.close()}}})),mc=t(((e,t)=>{var n=Symbol.for(`undici.globalDispatcher.2`),r=Symbol.for(`undici.globalDispatcher.1`),{InvalidArgumentError:i}=Q(),a=Rs(),o=zs(),s;l()===void 0&&c(new a);function c(e){if(!e||typeof e.dispatch!=`function`)throw new i(`Argument agent must implement Agent`);try{Object.defineProperty(globalThis,n,{value:e,writable:!0,enumerable:!1,configurable:!1})}catch(t){if(t instanceof TypeError){s=e;return}throw t}try{let t=e instanceof o?e:new o(e);Object.defineProperty(globalThis,r,{value:t,writable:!0,enumerable:!1,configurable:!1})}catch(e){if(!(e instanceof TypeError))throw e}}function l(){return globalThis[n]??s}t.exports={setGlobalDispatcher:c,getGlobalDispatcher:l,installedExports:[`fetch`,`Headers`,`Response`,`Request`,`FormData`,`WebSocket`,`CloseEvent`,`ErrorEvent`,`MessageEvent`,`EventSource`]}})),hc=t(((t,n)=>{var r=e(`node:assert`);n.exports=class{#e;#t=!1;#n=!1;#r=!1;constructor(e){if(typeof e!=`object`||!e)throw TypeError(`handler must be an object`);this.#e=e}onRequestStart(...e){this.#e.onRequestStart?.(...e)}onRequestUpgrade(...e){return r(!this.#t),r(!this.#n),this.#e.onRequestUpgrade?.(...e)}onResponseStart(...e){return r(!this.#t),r(!this.#n),r(!this.#r),this.#r=!0,this.#e.onResponseStart?.(...e)}onResponseData(...e){return r(!this.#t),r(!this.#n),this.#e.onResponseData?.(...e)}onResponseEnd(...e){return r(!this.#t),r(!this.#n),this.#t=!0,this.#e.onResponseEnd?.(...e)}onResponseError(...e){return this.#n=!0,this.#e.onResponseError?.(...e)}onBodySent(...e){return this.#e.onBodySent?.(...e)}onRequestSent(...e){return this.#e.onRequestSent?.(...e)}}})),gc=t(((t,n)=>{var r=$(),i=e(`node:assert`),{InvalidArgumentError:a}=Q(),{kRequestOrigin:o}=Z(),s=[300,301,302,303,307,308],c=()=>{},l=class e{static buildDispatch(t,n){if(n!=null&&(!Number.isInteger(n)||n<0))throw new a(`maxRedirections must be a positive number`);let r=t.dispatch.bind(t);return(t,i)=>r(t,new e(r,n,t,i))}constructor(e,t,n,i){if(t!=null&&(!Number.isInteger(t)||t<0))throw new a(`maxRedirections must be a positive number`);if(n.throwOnMaxRedirect!=null&&typeof n.throwOnMaxRedirect!=`boolean`)throw new a(`throwOnMaxRedirect must be a boolean`);this.dispatch=e,this.location=null;let{maxRedirections:o,stripHeadersOnRedirect:s,stripHeadersOnCrossOriginRedirect:c,...l}=n;this.opts=l,this.opts.body=r.wrapRequestBody(this.opts.body),this.stripHeadersOnRedirect=d(s,`stripHeadersOnRedirect`),this.stripHeadersOnCrossOriginRedirect=d(c,`stripHeadersOnCrossOriginRedirect`),this.maxRedirections=t,this.handler=i,this.history=[]}onRequestStart(e,t){this.handler.onRequestStart?.(e,{...t,history:this.history})}onBodySent(e){this.handler.onBodySent?.(e)}onRequestSent(){this.handler.onRequestSent?.()}onRequestUpgrade(e,t,n,r){this.handler.onRequestUpgrade?.(e,t,n,r)}onResponseStart(e,t,n,i){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw Error(`max redirects`);let l=t===303;(t===301||t===302)&&this.opts.method===`POST`&&(this.opts.method=`GET`,r.isStream(this.opts.body)&&r.destroy(this.opts.body.on(`error`,c)),this.opts.body=null,l=!0),t===303&&this.opts.method!==`HEAD`&&(this.opts.method=`GET`,r.isStream(this.opts.body)&&r.destroy(this.opts.body.on(`error`,c)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||r.isDisturbed(this.opts.body)||s.indexOf(t)===-1?null:n.location;let u=this.opts[o]===void 0?this.opts.origin:this.opts[o];if(u&&this.history.push(new URL(this.opts.path,u)),!this.location){this.handler.onResponseStart?.(e,t,n,i);return}let d=u?new URL(this.opts.path,u):void 0,{origin:p,pathname:m,search:h}=r.parseURL(new URL(this.location,d)),g=h?`${m}${h}`:m,_=`${p}${g}`;for(let e of this.history)if(e.toString()===_)throw new a(`Redirect loop detected. Cannot redirect to ${p}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=f(this.opts.headers,l,u!==p,this.stripHeadersOnRedirect,this.stripHeadersOnCrossOriginRedirect),this.opts.path=g,this.opts.origin=p,this.opts[o]=p,this.opts.query=null}onResponseData(e,t){this.location||this.handler.onResponseData?.(e,t)}onResponseEnd(e,t){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(e,t)}onResponseError(e,t){this.handler.onResponseError?.(e,t)}};function u(e,t,n,i,a){let o=r.headerNameToString(e);return o===`host`||i?.has(o)||n&&a?.has(o)||t&&o.startsWith(`content-`)?!0:n?o===`authorization`||o===`cookie`||o===`proxy-authorization`:!1}function d(e,t){if(e==null)return null;if(!Array.isArray(e))throw new a(`${t} must be an array`);let n=new Set;for(let i of e){if(typeof i!=`string`)throw new a(`${t} must contain header names`);n.add(r.headerNameToString(i))}return n}function f(e,t,n,a,o){let s=[];if(Array.isArray(e))for(let r=0;r<e.length;r+=2)u(e[r],t,n,a,o)||s.push(e[r],e[r+1]);else if(e&&typeof e==`object`){let i=r.hasSafeIterator(e)?e:Object.entries(e);for(let[e,r]of i)u(e,t,n,a,o)||s.push(e,r)}else i(e==null,`headers must be an object or an array`);return s}n.exports=l})),_c=t(((e,t)=>{var n=gc();function r({maxRedirections:e,throwOnMaxRedirect:t,stripHeadersOnRedirect:r,stripHeadersOnCrossOriginRedirect:i}={}){return a=>function(o,s){let{maxRedirections:c=e,throwOnMaxRedirect:l=t,stripHeadersOnRedirect:u=r,stripHeadersOnCrossOriginRedirect:d=i,...f}=o;if(c==null||c===0)return a(o,s);let p={...f,throwOnMaxRedirect:l,stripHeadersOnRedirect:u,stripHeadersOnCrossOriginRedirect:d};return a(p,new n(a,c,p,s))}}t.exports=r})),vc=t(((e,t)=>{var n=hc(),{ResponseError:r}=Q(),i=class extends n{#e;#t;#n;#r;#i;constructor(e,{handler:t}){super(t)}#a(e){return(this.#t??``).indexOf(e)===0}onRequestStart(e,t){return this.#e=0,this.#t=null,this.#n=null,this.#r=null,this.#i=``,super.onRequestStart(e,t)}onResponseStart(e,t,n,r){if(this.#e=t,this.#r=n,this.#t=n[`content-type`],this.#e<400)return super.onResponseStart(e,t,n,r);(this.#a(`application/json`)||this.#a(`text/plain`))&&(this.#n=new TextDecoder(`utf-8`))}onResponseData(e,t){if(this.#e<400)return super.onResponseData(e,t);this.#i+=this.#n?.decode(t,{stream:!0})??``}onResponseEnd(e,t){if(this.#e>=400){if(this.#i+=this.#n?.decode(void 0,{stream:!1})??``,this.#a(`application/json`))try{this.#i=JSON.parse(this.#i)}catch{}let t,n=Error.stackTraceLimit;Error.stackTraceLimit=0;try{t=new r(`Response Error`,this.#e,{body:this.#i,headers:this.#r})}finally{Error.stackTraceLimit=n}super.onResponseError(e,t)}else super.onResponseEnd(e,t)}onResponseError(e,t){super.onResponseError(e,t)}};t.exports=()=>e=>function(t,n){return e(t,new i(t,{handler:n}))}})),yc=t(((e,t)=>{var n=Gs();t.exports=e=>t=>function(r,i){return t(r,new n({...r,retryOptions:{...e,...r.retryOptions}},{handler:i,dispatch:t}))}})),bc=t(((e,t)=>{var{InvalidArgumentError:n,RequestAbortedError:r}=Q(),i=hc(),a=class extends i{#e=1048576;#t=!1;#n=0;aborted=!1;reason=!1;constructor({maxSize:e,signal:t},r){if(e!=null&&(!Number.isFinite(e)||e<1))throw new n(`maxSize must be a number greater than 0`);super(r),this.#e=e??this.#e}#r(e){this.aborted=!0,this.reason=e}onRequestStart(e,t){return e.abort=this.#r.bind(this),super.onRequestStart(e,t)}onResponseStart(e,t,n,i){let a=n[`content-length`];if(a!=null&&a>this.#e)throw new r(`Response size (${a}) larger than maxSize (${this.#e})`);return this.aborted===!0||super.onResponseStart(e,t,n,i)}onResponseError(e,t){super.onResponseError(e,this.aborted===!0?this.reason:t)}onResponseData(e,t){if(this.#n+=t.length,this.#n>this.#e)throw new r(`Response size (${this.#n}) larger than maxSize (${this.#e})`);return this.#n===this.#e&&(this.#t=!0),!0}onResponseEnd(e,t){if(this.aborted===!0){super.onResponseError(e,this.reason);return}super.onResponseEnd(e,this.#t?{}:t)}};function o({maxSize:e}={maxSize:1048576}){return t=>function(n,r){let{dumpMaxSize:i=e}=n;return t(n,new a({maxSize:i,signal:n.signal},r))}}t.exports=o})),xc=t(((t,n)=>{var{isIP:r}=e(`node:net`),{lookup:i}=e(`node:dns`),a=hc(),{InvalidArgumentError:o,InformationalError:s}=Q(),{kRequestOrigin:c}=Z(),l=2**31-1;function u(e){let t=Object.getPrototypeOf(e);return Object.hasOwn(e,Symbol.iterator)||t!=null&&t!==Object.prototype&&typeof e[Symbol.iterator]==`function`}function d(e){return typeof e==`string`&&e.toLowerCase()===`host`}function f(e){if(e==null)return null;if(Array.isArray(e)){if(e.length===0||!Array.isArray(e[0]))return e;let t=[];for(let n of e)Array.isArray(n)&&n.length===2?t.push(n[0],n[1]):t.push(n);return t}if(typeof e==`object`&&u(e)){let t=[];for(let n of e)Array.isArray(n)&&n.length===2?t.push(n[0],n[1]):t.push(n);return t}return e}function p(e){if(e==null)return!1;if(Array.isArray(e)){if(e.length===0)return!1;for(let t=0;t<e.length;t+=2)if(d(e[t]))return!0;return!1}if(typeof e==`object`){for(let t in e)if(d(t))return!0}return!1}function m(e,t){let n=f(t);return p(n)?n:Array.isArray(n)?[`host`,e,...n]:n&&typeof n==`object`?{host:e,...n}:{host:e}}var h=class{#e=0;#t=new Map;constructor(e){this.#e=e.maxItems}get size(){return this.#t.size}get(e){return this.#t.get(e)??null}set(e,t){this.#t.set(e,t)}delete(e){this.#t.delete(e)}full(){return this.size>=this.#e}},g=class{#e=0;#t=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#n,this.pick=e.pick??this.#r,this.storage=e.storage??new h(e)}runLookup(e,t,n){let r=this.storage.get(e.hostname);if(r==null&&this.storage.full()){n(null,e);return}let i={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...t.dns,maxTTL:this.#e,maxItems:this.#t};if(r==null)this.lookup(e,i,(t,r)=>{if(t||r==null||r.length===0){n(t??new s(`No DNS entries found`));return}this.setRecords(e,r);let a=this.storage.get(e.hostname),o=this.pick(e,a,i.affinity),c;c=typeof o.port==`number`?`:${o.port}`:e.port===``?``:`:${e.port}`,n(null,new URL(`${e.protocol}//${o.family===6?`[${o.address}]`:o.address}${c}`))});else{let a=this.pick(e,r,i.affinity);if(a==null){this.storage.delete(e.hostname),this.runLookup(e,t,n);return}let o;o=typeof a.port==`number`?`:${a.port}`:e.port===``?``:`:${e.port}`,n(null,new URL(`${e.protocol}//${a.family===6?`[${a.address}]`:a.address}${o}`))}}#n(e,t,n){i(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:`ipv4first`},(e,t)=>{if(e)return n(e);let r=new Map;for(let e of t)r.set(`${e.address}:${e.family}`,e);n(null,r.values())})}#r(e,t,n){let r=null,{records:i,offset:a}=t,o;if(this.dualStack?(n??(a==null||a===l?(t.offset=0,n=4):(t.offset++,n=(t.offset&1)==1?6:4)),o=i[n]!=null&&i[n].ips.length>0?i[n]:i[n===4?6:4]):o=i[n],o==null||o.ips.length===0)return r;o.offset==null||o.offset===l?o.offset=0:o.offset++;let s=o.offset%o.ips.length;return r=o.ips[s]??null,r==null?r:Date.now()-r.timestamp>r.ttl?(o.ips.splice(s,1),this.pick(e,t,n)):r}pickFamily(e,t){let n=this.storage.get(e.hostname)?.records;if(!n)return null;let r=n[t];if(!r)return null;r.offset==null||r.offset===l?r.offset=0:r.offset++;let i=r.offset%r.ips.length,a=r.ips[i]??null;return a==null||Date.now()-a.timestamp>a.ttl&&r.ips.splice(i,1),a}setRecords(e,t){let n=Date.now(),r={records:{4:null,6:null}},i=this.#e;for(let e of t){e.timestamp=n,typeof e.ttl==`number`?(e.ttl=Math.min(e.ttl,this.#e),i=Math.min(i,e.ttl)):e.ttl=this.#e;let t=r.records[e.family]??{ips:[]};t.ips.push(e),r.records[e.family]=t}this.storage.set(e.hostname,r,{ttl:i})}deleteRecords(e){this.storage.delete(e.hostname)}getHandler(e,t){return new _(this,e,t)}},_=class extends a{#e=null;#t=null;#n=null;#r=null;#i=null;#a=!0;constructor(e,{origin:t,handler:n,dispatch:r,newOrigin:i},a){super(n),this.#r=t,this.#i=i,this.#t={...a},this.#e=e,this.#n=r}onResponseError(e,t){switch(t.code){case`ETIMEDOUT`:case`ECONNREFUSED`:if(this.#e.dualStack){if(!this.#a){super.onResponseError(e,t);return}this.#a=!1;let n=this.#i.hostname[0]===`[`?4:6,r=this.#e.pickFamily(this.#r,n);if(r==null){super.onResponseError(e,t);return}let i;i=typeof r.port==`number`?`:${r.port}`:this.#r.port===``?``:`:${this.#r.port}`;let a={...this.#t,origin:`${this.#r.protocol}//${r.family===6?`[${r.address}]`:r.address}${i}`,[c]:this.#t[c]===void 0?this.#r:this.#t[c],headers:m(this.#r.host,this.#t.headers)};this.#n(a,this);return}super.onResponseError(e,t);break;case`ENOTFOUND`:this.#e.deleteRecords(this.#r),super.onResponseError(e,t);break;default:super.onResponseError(e,t)}}};n.exports=e=>{if(e?.maxTTL!=null&&(typeof e?.maxTTL!=`number`||e?.maxTTL<0))throw new o(`Invalid maxTTL. Must be a positive number`);if(e?.maxItems!=null&&(typeof e?.maxItems!=`number`||e?.maxItems<1))throw new o(`Invalid maxItems. Must be a positive number and greater than zero`);if(e?.affinity!=null&&e?.affinity!==4&&e?.affinity!==6)throw new o(`Invalid affinity. Must be either 4 or 6`);if(e?.dualStack!=null&&typeof e?.dualStack!=`boolean`)throw new o(`Invalid dualStack. Must be a boolean`);if(e?.lookup!=null&&typeof e?.lookup!=`function`)throw new o(`Invalid lookup. Must be a function`);if(e?.pick!=null&&typeof e?.pick!=`function`)throw new o(`Invalid pick. Must be a function`);if(e?.storage!=null&&(typeof e?.storage?.get!=`function`||typeof e?.storage?.set!=`function`||typeof e?.storage?.full!=`function`||typeof e?.storage?.delete!=`function`))throw new o(`Invalid storage. Must be a object with methods: { get, set, full, delete }`);let t=e?.dualStack??!0,n;n=t?e?.affinity??null:e?.affinity??4;let i=new g({maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:t,affinity:n,maxItems:e?.maxItems??1/0,storage:e?.storage});return e=>function(t,n){if(t.origin==null)return e(t,n);let a=t.origin.constructor===URL?t.origin:new URL(t.origin);return r(a.hostname)===0?(i.runLookup(a,t,(r,o)=>{if(r)return n.onResponseError(null,r);e({...t,servername:a.hostname,origin:o.origin,[c]:t[c]===void 0?a:t[c],headers:m(a.host,t.headers)},i.getHandler({origin:a,dispatch:e,handler:n,newOrigin:o},t))}),!0):e(t,n)}}})),Sc=t(((e,t)=>{var{safeHTTPMethods:n,pathHasQueryOrFragment:r,hasSafeIterator:i,isValidHTTPToken:a}=$(),{serializePathWithQuery:o}=$(),{kRequestOrigin:s}=Z(),c=2147483647,l=[`no-store`,`private`,`no-cache`],u=Symbol(`invalid cache-control directives`);function d(e){return e.replace(/^[\t ]+|[\t ]+$/g,``)}function f(e,t){for(let n=0;n<e.length;n++)if(e[n]===t)return!0;return!1}function p(e){return e.replace(/^[\t ]+/,``)}function m(e){return e.replace(/[\t ]+$/,``)}function h(e,t){let n=!1;for(let r=t;r<e.length;r++)if(n)n=!1;else if(e[r]===`\\`)n=!0;else if(e[r]===`"`)return r;return-1}function g(e){let t=[],n=0,r=-1,i=!1,a=!1;for(let o=0;o<e.length;o++)i?a?a=!1:e[o]===`\\`?a=!0:e[o]===`"`&&(i=!1,r=-1):e[o]===`"`?(i=!0,r=o):e[o]===`,`&&(t.push({value:e.substring(n,o),fromMalformedQuote:!1}),n=o+1);if(!i)return t.push({value:e.substring(n),fromMalformedQuote:!1}),t;let o=e.substring(n),s=r-n,c=0;for(let e=0;e<o.length;e++)o[e]===`,`&&(t.push({value:o.substring(c,e),fromMalformedQuote:c>s}),c=e+1);return t.push({value:o.substring(c),fromMalformedQuote:c>s}),t}function _(e,t){let n=e[u];n===void 0&&(n=new Set,Object.defineProperty(e,u,{value:n})),n.add(t)}function v(e,t){return e[u]?.has(t)===!0}function y(e){for(let t of l)if(e.startsWith(t)&&e.length>t.length&&!a(e[t.length]))return t;let t=``,n=!1;for(let r=0;r<e.length;r++)a(e[r])?t+=e[r]:n=!0;if(n&&f(l,t))return t}function b(e){let t=e[s]===void 0?e.origin:e[s];return typeof t==`string`||t instanceof URL?t:null}function x(e,t){let n=b(e);if(t===void 0)return n;if(t===null)return null;if(n)try{if(new URL(n).origin!==t)return null}catch{return t}return t}function S(e,t=b(e)){if(!t)throw Error(`opts.origin is undefined`);let n=e.path||`/`;return e.query&&!r(n)&&(n=o(n,e.query)),{origin:t.toString(),method:e.method,path:n,headers:e.headers}}function C(e,t,n){let r=t.toLowerCase(),i=e[r],a=Array.isArray(n)?n:[n];i===void 0?e[r]=Array.isArray(n)?n.slice():n:Array.isArray(i)?i.push(...a):e[r]=[i,...a]}function w(e){let t;if(e.headers==null)t={};else if(typeof e.headers==`object`){if(t={},i(e.headers)){if(Array.isArray(e.headers)){let n=e.headers[0];if(Array.isArray(n))for(let n of e.headers){if(!Array.isArray(n))throw Error(`opts.headers is not a valid header map`);let[e,r]=n;if(typeof e!=`string`||typeof r!=`string`)throw Error(`opts.headers is not a valid header map`);C(t,e,r)}else{let n=e.headers.length;if(n%2!=0)throw Error(`opts.headers is not a valid header map`);for(let r=0;r<n;r+=2){let n=e.headers[r],i=e.headers[r+1];if(typeof n!=`string`||typeof i!=`string`&&!Array.isArray(i))throw Error(`opts.headers is not a valid header map`);if(typeof i==`string`)C(t,n,i);else{let e=[];for(let t=0;t<i.length;t++){let n=i[t];e.push(typeof n==`string`?n:n.toString(`latin1`))}C(t,n,e)}}}}else for(let n of e.headers){if(!Array.isArray(n))throw Error(`opts.headers is not a valid header map`);let[e,r]=n;if(typeof e!=`string`||typeof r!=`string`)throw Error(`opts.headers is not a valid header map`);C(t,e,r)}}else for(let n of Object.keys(e.headers))C(t,n,e.headers[n])}else throw Error(`opts.headers is not an object`);return t}function T(e){if(typeof e!=`object`)throw TypeError(`expected key to be object, got ${typeof e}`);for(let t of[`origin`,`method`,`path`])if(typeof e[t]!=`string`)throw TypeError(`expected key.${t} to be string, got ${typeof e[t]}`);if(e.headers!==void 0&&typeof e.headers!=`object`)throw TypeError(`expected headers to be object, got ${typeof e}`)}function E(e){if(typeof e!=`object`)throw TypeError(`expected value to be object, got ${typeof e}`);for(let t of[`statusCode`,`cachedAt`,`staleAt`,`deleteAt`])if(typeof e[t]!=`number`)throw TypeError(`expected value.${t} to be number, got ${typeof e[t]}`);if(typeof e.statusMessage!=`string`)throw TypeError(`expected value.statusMessage to be string, got ${typeof e.statusMessage}`);if(e.headers!=null&&typeof e.headers!=`object`)throw TypeError(`expected value.rawHeaders to be object, got ${typeof e.headers}`);if(e.vary!==void 0&&typeof e.vary!=`object`)throw TypeError(`expected value.vary to be object, got ${typeof e.vary}`);if(e.etag!==void 0&&typeof e.etag!=`string`)throw TypeError(`expected value.etag to be string, got ${typeof e.etag}`)}function D(e){let t={},n=new Set,r=new Set,i=g(Array.isArray(e)?e.join(`,`):e);for(let e=0;e<i.length;e++){let o=i[e],s=o.value.toLowerCase(),l=o.fromMalformedQuote,u=s.indexOf(`=`),f,g,v=!1,b=!1;if(u!==-1){let e=s.substring(0,u),t=s.substring(u+1);v=m(e)!==e,b=p(t)!==t,f=d(e),g=p(t)}else f=d(s);let x=y(f);if(x!==void 0){t[x]=!0;continue}switch(f){case`min-fresh`:case`max-stale`:case`max-age`:case`s-maxage`:case`stale-while-revalidate`:case`stale-if-error`:{if(l||n.has(f))continue;if(g===void 0||v||b){delete t[f],n.add(f),_(t,f);continue}if(g.length>=2&&g[0]===`"`&&g[g.length-1]===`"`&&(g=g.substring(1,g.length-1)),!/^[0-9]+$/.test(g)){delete t[f],n.add(f),_(t,f);continue}let e=Math.min(parseInt(g,10),c);f===`min-fresh`?(!(f in t)||t[f]<e)&&(t[f]=e):(!(f in t)||t[f]>e)&&(t[f]=e);break}case`private`:case`no-cache`:if(l){t[f]=!0;break}if(g!==void 0&&g.length===0){t[f]=!0;break}if(g){if(g[0]===`"`){g=m(g);let n=``,r=e,o=!1,s=h(g,1);if(s!==-1)n=g.substring(1,s),o=!0;else{let t=[g.substring(1)];for(let n=e+1;n<i.length;n++){let e=d(i[n].value),a=h(e,0);if(r=n,a!==-1){t.push(e.substring(0,a)),o=!0;break}t.push(e)}n=t.join(`,`)}if(!o){t[f]=!0;break}e=r;let c=n.split(`,`),l=!0;for(let e=0;e<c.length;e++)c[e]=d(c[e]),a(c[e])||(l=!1);l?t[f]!==!0&&(f in t?t[f]=t[f].concat(c):t[f]=c):t[f]=!0}else{let e=d(g);a(e)?t[f]!==!0&&(f in t?t[f]=t[f].concat(e):t[f]=[e]):t[f]=!0}break}case`public`:case`must-revalidate`:case`proxy-revalidate`:case`immutable`:case`no-transform`:case`must-understand`:case`only-if-cached`:if(l||r.has(f))continue;if(g!==void 0){delete t[f],r.add(f);continue}t[f]=!0;break;case`no-store`:t[f]=!0;break;default:continue}}return t}function O(e){let t=Array.isArray(e)?e:[e],n=[];for(let e=0;e<t.length;e++){let r=t[e].split(`,`);for(let e=0;e<r.length;e++)n.push(r[e])}return n}function k(e){let t=O(e);for(let e=0;e<t.length;e++)if(d(t[e]).indexOf(`*`)!==-1)return!0;return!1}function A(e,t){if(k(e))return t;let n={},r=O(e);for(let e of r){let r=d(e).toLowerCase();if(r.length===0)continue;if(!a(r))return;let i=t[r];n[r]=Array.isArray(i)?i.slice():i??null}return n}function j(e){return k(e)||A(e,{})===void 0}function M(e){return e.length<=2?!1:e[0]===`"`&&e[e.length-1]===`"`?!(e[1]===`"`||e.startsWith(`"W/`)):e.startsWith(`W/"`)&&e[e.length-1]===`"`?e.length!==4:!1}function N(e,t=`CacheStore`){if(typeof e!=`object`||!e)throw TypeError(`expected type of ${t} to be a CacheStore, got ${e===null?`null`:typeof e}`);for(let n of[`get`,`createWriteStream`,`delete`])if(typeof e[n]!=`function`)throw TypeError(`${t} needs to have a \`${n}()\` function`)}function P(e,t=`CacheMethods`){if(!Array.isArray(e))throw TypeError(`expected type of ${t} needs to be an array, got ${e===null?`null`:typeof e}`);if(e.length===0)throw TypeError(`${t} needs to have at least one method`);for(let r of e)if(!f(n,r))throw TypeError(`element of ${t}-array needs to be one of following values: ${n.join(`, `)}, got ${r}`)}function F(e,t){let n={};if(e.headers){let r=Object.keys(e.headers).sort();for(let i of r)t?.has(i.toLowerCase())||(n[i]=e.headers[i])}return JSON.stringify([e.origin,e.method,e.path,n])}t.exports={getInterceptorOrigin:x,getRequestOrigin:b,makeCacheKey:S,normalizeHeaders:w,assertCacheKey:T,assertCacheValue:E,parseCacheControlHeader:D,hasInvalidCacheControlDirective:v,parseVaryHeader:A,hasVaryStar:k,isInvalidOrWildcardVaryHeader:j,isEtagUsable:M,assertCacheMethods:P,assertCacheStore:N,makeDeduplicationKey:F}})),Cc=t(((e,t)=>{function n(e){switch(e[3]){case`,`:return i(e);case` `:return a(e);default:return o(e)}}function r(e,t,n,r,i,a,o){let s=new Date(Date.UTC(e,t,n,r,i,a));return e>=0&&e<=99&&s.setUTCFullYear(e),s.getUTCFullYear()===e&&s.getUTCMonth()===t&&s.getUTCDate()===n&&s.getUTCHours()===r&&s.getUTCMinutes()===i&&s.getUTCSeconds()===a&&s.getUTCDay()===o?s:void 0}function i(e){if(e.length!==29||e[4]!==` `||e[7]!==` `||e[11]!==` `||e[16]!==` `||e[19]!==`:`||e[22]!==`:`||e[25]!==` `||e[26]!==`G`||e[27]!==`M`||e[28]!==`T`)return;let t=-1;if(e[0]===`S`&&e[1]===`u`&&e[2]===`n`)t=0;else if(e[0]===`M`&&e[1]===`o`&&e[2]===`n`)t=1;else if(e[0]===`T`&&e[1]===`u`&&e[2]===`e`)t=2;else if(e[0]===`W`&&e[1]===`e`&&e[2]===`d`)t=3;else if(e[0]===`T`&&e[1]===`h`&&e[2]===`u`)t=4;else if(e[0]===`F`&&e[1]===`r`&&e[2]===`i`)t=5;else if(e[0]===`S`&&e[1]===`a`&&e[2]===`t`)t=6;else return;let n=0;if(e[5]===`0`){let t=e.charCodeAt(6);if(t<49||t>57)return;n=t-48}else{let t=e.charCodeAt(5);if(t<49||t>51)return;let r=e.charCodeAt(6);if(r<48||r>57)return;n=(t-48)*10+(r-48)}let i=-1;if(e[8]===`J`&&e[9]===`a`&&e[10]===`n`)i=0;else if(e[8]===`F`&&e[9]===`e`&&e[10]===`b`)i=1;else if(e[8]===`M`&&e[9]===`a`){if(e[10]===`r`)i=2;else if(e[10]===`y`)i=4;else return}else if(e[8]===`J`){if(e[9]===`a`&&e[10]===`n`)i=0;else if(e[9]===`u`){if(e[10]===`n`)i=5;else if(e[10]===`l`)i=6;else return}else return}else if(e[8]===`A`){if(e[9]===`p`&&e[10]===`r`)i=3;else if(e[9]===`u`&&e[10]===`g`)i=7;else return}else if(e[8]===`S`&&e[9]===`e`&&e[10]===`p`)i=8;else if(e[8]===`O`&&e[9]===`c`&&e[10]===`t`)i=9;else if(e[8]===`N`&&e[9]===`o`&&e[10]===`v`)i=10;else if(e[8]===`D`&&e[9]===`e`&&e[10]===`c`)i=11;else return;let a=e.charCodeAt(12);if(a<48||a>57)return;let o=e.charCodeAt(13);if(o<48||o>57)return;let s=e.charCodeAt(14);if(s<48||s>57)return;let c=e.charCodeAt(15);if(c<48||c>57)return;let l=(a-48)*1e3+(o-48)*100+(s-48)*10+(c-48),u=0;if(e[17]===`0`){let t=e.charCodeAt(18);if(t<48||t>57)return;u=t-48}else{let t=e.charCodeAt(17);if(t<48||t>50)return;let n=e.charCodeAt(18);if(n<48||n>57||t===50&&n>51)return;u=(t-48)*10+(n-48)}let d=0;if(e[20]===`0`){let t=e.charCodeAt(21);if(t<48||t>57)return;d=t-48}else{let t=e.charCodeAt(20);if(t<48||t>53)return;let n=e.charCodeAt(21);if(n<48||n>57)return;d=(t-48)*10+(n-48)}let f=0;if(e[23]===`0`){let t=e.charCodeAt(24);if(t<48||t>57)return;f=t-48}else{let t=e.charCodeAt(23);if(t<48||t>53)return;let n=e.charCodeAt(24);if(n<48||n>57)return;f=(t-48)*10+(n-48)}return r(l,i,n,u,d,f,t)}function a(e){if(e.length!==24||e[7]!==` `||e[10]!==` `||e[19]!==` `)return;let t=-1;if(e[0]===`S`&&e[1]===`u`&&e[2]===`n`)t=0;else if(e[0]===`M`&&e[1]===`o`&&e[2]===`n`)t=1;else if(e[0]===`T`&&e[1]===`u`&&e[2]===`e`)t=2;else if(e[0]===`W`&&e[1]===`e`&&e[2]===`d`)t=3;else if(e[0]===`T`&&e[1]===`h`&&e[2]===`u`)t=4;else if(e[0]===`F`&&e[1]===`r`&&e[2]===`i`)t=5;else if(e[0]===`S`&&e[1]===`a`&&e[2]===`t`)t=6;else return;let n=-1;if(e[4]===`J`&&e[5]===`a`&&e[6]===`n`)n=0;else if(e[4]===`F`&&e[5]===`e`&&e[6]===`b`)n=1;else if(e[4]===`M`&&e[5]===`a`){if(e[6]===`r`)n=2;else if(e[6]===`y`)n=4;else return}else if(e[4]===`J`){if(e[5]===`a`&&e[6]===`n`)n=0;else if(e[5]===`u`){if(e[6]===`n`)n=5;else if(e[6]===`l`)n=6;else return}else return}else if(e[4]===`A`){if(e[5]===`p`&&e[6]===`r`)n=3;else if(e[5]===`u`&&e[6]===`g`)n=7;else return}else if(e[4]===`S`&&e[5]===`e`&&e[6]===`p`)n=8;else if(e[4]===`O`&&e[5]===`c`&&e[6]===`t`)n=9;else if(e[4]===`N`&&e[5]===`o`&&e[6]===`v`)n=10;else if(e[4]===`D`&&e[5]===`e`&&e[6]===`c`)n=11;else return;let i=0;if(e[8]===` `){let t=e.charCodeAt(9);if(t<49||t>57)return;i=t-48}else{let t=e.charCodeAt(8);if(t<49||t>51)return;let n=e.charCodeAt(9);if(n<48||n>57)return;i=(t-48)*10+(n-48)}let a=0;if(e[11]===`0`){let t=e.charCodeAt(12);if(t<48||t>57)return;a=t-48}else{let t=e.charCodeAt(11);if(t<48||t>50)return;let n=e.charCodeAt(12);if(n<48||n>57||t===50&&n>51)return;a=(t-48)*10+(n-48)}let o=0;if(e[14]===`0`){let t=e.charCodeAt(15);if(t<48||t>57)return;o=t-48}else{let t=e.charCodeAt(14);if(t<48||t>53)return;let n=e.charCodeAt(15);if(n<48||n>57)return;o=(t-48)*10+(n-48)}let s=0;if(e[17]===`0`){let t=e.charCodeAt(18);if(t<48||t>57)return;s=t-48}else{let t=e.charCodeAt(17);if(t<48||t>53)return;let n=e.charCodeAt(18);if(n<48||n>57)return;s=(t-48)*10+(n-48)}let c=e.charCodeAt(20);if(c<48||c>57)return;let l=e.charCodeAt(21);if(l<48||l>57)return;let u=e.charCodeAt(22);if(u<48||u>57)return;let d=e.charCodeAt(23);if(!(d<48||d>57))return r((c-48)*1e3+(l-48)*100+(u-48)*10+(d-48),n,i,a,o,s,t)}function o(e){let t=-1,n=-1;if(e[0]===`S`)e[1]===`u`&&e[2]===`n`&&e[3]===`d`&&e[4]===`a`&&e[5]===`y`?(n=0,t=6):e[1]===`a`&&e[2]===`t`&&e[3]===`u`&&e[4]===`r`&&e[5]===`d`&&e[6]===`a`&&e[7]===`y`&&(n=6,t=8);else if(e[0]===`M`&&e[1]===`o`&&e[2]===`n`&&e[3]===`d`&&e[4]===`a`&&e[5]===`y`)n=1,t=6;else if(e[0]===`T`)e[1]===`u`&&e[2]===`e`&&e[3]===`s`&&e[4]===`d`&&e[5]===`a`&&e[6]===`y`?(n=2,t=7):e[1]===`h`&&e[2]===`u`&&e[3]===`r`&&e[4]===`s`&&e[5]===`d`&&e[6]===`a`&&e[7]===`y`&&(n=4,t=8);else if(e[0]===`W`&&e[1]===`e`&&e[2]===`d`&&e[3]===`n`&&e[4]===`e`&&e[5]===`s`&&e[6]===`d`&&e[7]===`a`&&e[8]===`y`)n=3,t=9;else if(e[0]===`F`&&e[1]===`r`&&e[2]===`i`&&e[3]===`d`&&e[4]===`a`&&e[5]===`y`)n=5,t=6;else return;if(e[t]!==`,`||e.length-t-1!=23||e[t+1]!==` `||e[t+4]!==`-`||e[t+8]!==`-`||e[t+11]!==` `||e[t+14]!==`:`||e[t+17]!==`:`||e[t+20]!==` `||e[t+21]!==`G`||e[t+22]!==`M`||e[t+23]!==`T`)return;let i=0;if(e[t+2]===`0`){let n=e.charCodeAt(t+3);if(n<49||n>57)return;i=n-48}else{let n=e.charCodeAt(t+2);if(n<49||n>51)return;let r=e.charCodeAt(t+3);if(r<48||r>57)return;i=(n-48)*10+(r-48)}let a=-1;if(e[t+5]===`J`&&e[t+6]===`a`&&e[t+7]===`n`)a=0;else if(e[t+5]===`F`&&e[t+6]===`e`&&e[t+7]===`b`)a=1;else if(e[t+5]===`M`&&e[t+6]===`a`&&e[t+7]===`r`)a=2;else if(e[t+5]===`A`&&e[t+6]===`p`&&e[t+7]===`r`)a=3;else if(e[t+5]===`M`&&e[t+6]===`a`&&e[t+7]===`y`)a=4;else if(e[t+5]===`J`&&e[t+6]===`u`&&e[t+7]===`n`)a=5;else if(e[t+5]===`J`&&e[t+6]===`u`&&e[t+7]===`l`)a=6;else if(e[t+5]===`A`&&e[t+6]===`u`&&e[t+7]===`g`)a=7;else if(e[t+5]===`S`&&e[t+6]===`e`&&e[t+7]===`p`)a=8;else if(e[t+5]===`O`&&e[t+6]===`c`&&e[t+7]===`t`)a=9;else if(e[t+5]===`N`&&e[t+6]===`o`&&e[t+7]===`v`)a=10;else if(e[t+5]===`D`&&e[t+6]===`e`&&e[t+7]===`c`)a=11;else return;let o=e.charCodeAt(t+9);if(o<48||o>57)return;let s=e.charCodeAt(t+10);if(s<48||s>57)return;let c=(o-48)*10+(s-48);c+=c<70?2e3:1900;let l=0;if(e[t+12]===`0`){let n=e.charCodeAt(t+13);if(n<48||n>57)return;l=n-48}else{let n=e.charCodeAt(t+12);if(n<48||n>50)return;let r=e.charCodeAt(t+13);if(r<48||r>57||n===50&&r>51)return;l=(n-48)*10+(r-48)}let u=0;if(e[t+15]===`0`){let n=e.charCodeAt(t+16);if(n<48||n>57)return;u=n-48}else{let n=e.charCodeAt(t+15);if(n<48||n>53)return;let r=e.charCodeAt(t+16);if(r<48||r>57)return;u=(n-48)*10+(r-48)}let d=0;if(e[t+18]===`0`){let n=e.charCodeAt(t+19);if(n<48||n>57)return;d=n-48}else{let n=e.charCodeAt(t+18);if(n<48||n>53)return;let r=e.charCodeAt(t+19);if(r<48||r>57)return;d=(n-48)*10+(r-48)}return r(c,a,i,l,u,d,n)}t.exports={parseHttpDate:n}})),wc=t(((e,t)=>{var n=$(),{parseCacheControlHeader:r,hasInvalidCacheControlDirective:i,parseVaryHeader:a,hasVaryStar:o,isInvalidOrWildcardVaryHeader:s,isEtagUsable:c}=Sc(),{parseHttpDate:l}=Cc();function u(){}var d=[200,203,204,206,300,301,308,404,405,410,414,501],f=[206],p=2147483647e3,m=864e5;function h(e){return e.replace(/^[\t ]+|[\t ]+$/g,``)}function g(e,t){for(let n=0;n<e.length;n++)if(e[n]===t)return!0;return!1}function _(e,t){let n=Array.isArray(t)?t:[t];for(let t=0;t<n.length;t++){let r=n[t].split(`,`);for(let t=0;t<r.length;t++)e.push(h(r[t]).toLowerCase())}}function v(e,t){if(typeof t!=`string`)return;let n,r,i;try{n=new URL(e.origin),r=new URL(e.path,n),i=new URL(t,r)}catch{return}if(i.origin===n.origin)return i.pathname+i.search}function y(e,t,r){C(e,{...t,path:r});for(let i=0;i<n.safeHTTPMethods.length;i++){let a=n.safeHTTPMethods[i];a!==t.method&&C(e,{...t,method:a,path:r})}}function b(e,t,n){if(n===void 0)return;let r=Array.isArray(n)?n:[n];for(let n=0;n<r.length;n++){let i=v(t,r[n]);i!==void 0&&y(e,t,i)}}function x(e,t,n){y(e,t,t.path),b(e,t,n.location),b(e,t,n[`content-location`])}var S=class{#e;#t;#n;#r;#i;#a;constructor({store:e,type:t,cacheByDefault:n},r,i){this.#r=e,this.#t=t,this.#n=n,this.#e=r,this.#i=i}onRequestStart(e,t){this.#a?.destroy(),this.#a=void 0,this.#i.onRequestStart?.(e,t)}onBodySent(e){this.#i.onBodySent?.(e)}onRequestSent(){this.#i.onRequestSent?.()}onRequestUpgrade(e,t,n,r){this.#i.onRequestUpgrade?.(e,t,n,r)}onResponseStart(e,t,i,o){let l=()=>this.#i.onResponseStart?.(e,t,i,o),u=this;if(!g(n.safeHTTPMethods,this.#e.method)&&t>=200&&t<=399)return x(this.#r,this.#e,i),l();let f=i[`cache-control`],m=f?r(f):{};if(T(this.#t,i,m))return C(this.#r,this.#e),l();let h=i[`last-modified`]&&g(d,t);if(!f&&!i.expires&&!h&&!this.#n)return t===304&&i.vary&&s(i.vary)&&C(this.#r,this.#e),l();if(!E(this.#t,this.#e.method,t,i,m,this.#e.headers))return t===304&&(f||T(this.#t,i,m))&&C(this.#r,this.#e),l();let _=Date.now(),v=Object.hasOwn(i,`age`)?O(i.age):void 0;if(v!==void 0&&v>=p)return w(t,this.#r,this.#e),l();let y=Object.hasOwn(i,`date`)?D(i.date):void 0;if(y===null)return w(t,this.#r,this.#e),l();let b=y?Math.max(0,_-y.getTime()):0,S=Math.max(b,v??0),M=typeof i.etag==`string`&&c(i.etag)||typeof i[`last-modified`]==`string`,N=k(this.#t,_,v,i,y,m,M)??this.#n,P=N===0&&M;if(N===void 0||S>=N&&!P)return(f||N!==void 0)&&w(t,this.#r,this.#e),l();let F=_-S,I=N+F;if(_>=I&&!P)return w(t,this.#r,this.#e),l();let L;if(this.#e.headers&&i.vary&&(L=a(i.vary,this.#e.headers),!L))return l();let R=F,z=A(F,_,m,I),B=j(i,m),V={statusCode:t,statusMessage:o,headers:B,vary:L,cacheControlDirectives:m,cachedAt:R,staleAt:I,deleteAt:z};if(t===304){let t=t=>{if(!t)return l();if(V.statusCode=t.statusCode,V.statusMessage=t.statusMessage,V.etag=t.etag,V.vary=L??t.vary,V.headers={...t.headers,...B},l(),this.#a=this.#r.createWriteStream(this.#e,V),this.#a&&t?.body){if(typeof t.body.values==`function`){let n=t.body.values(),r=()=>{for(let t of n){let n=this.#a.write(t)===!1;if(this.#i.onResponseData?.(e,t),n)break}};this.#a.on(`error`,function(){u.#a=void 0,u.#r.delete(u.#e)}).on(`drain`,()=>{r()}).on(`close`,function(){u.#a===this&&(u.#a=void 0)}),r()}else typeof t.body.on==`function`&&(t.body.on(`data`,t=>{this.#a.write(t),this.#i.onResponseData?.(e,t)}).on(`end`,()=>{this.#a.end()}).on(`error`,()=>{this.#a=void 0,this.#r.delete(this.#e)}),this.#a.on(`error`,function(){u.#a=void 0,u.#r.delete(u.#e)}).on(`close`,function(){u.#a===this&&(u.#a=void 0)}))}},n=this.#r.get(this.#e);n&&typeof n.then==`function`?n.then(t):t(n)}else{if(typeof i.etag==`string`&&c(i.etag)&&(V.etag=i.etag),this.#a=this.#r.createWriteStream(this.#e,V),!this.#a)return l();this.#a.on(`drain`,()=>e.resume()).on(`error`,function(){u.#a=void 0,u.#r.delete(u.#e)}).on(`close`,function(){u.#a===this&&(u.#a=void 0),e.resume()}),l()}}onResponseData(e,t){this.#a?.write(t)===!1&&e.pause(),this.#i.onResponseData?.(e,t)}onResponseEnd(e,t){this.#a?.end(),this.#i.onResponseEnd?.(e,t)}onResponseError(e,t){this.#a?.destroy(t),this.#a=void 0,this.#i.onResponseError?.(e,t)}};function C(e,t){try{e.delete(t)?.catch?.(u)}catch{}}function w(e,t,n){e===304&&C(t,n)}function T(e,t,n){return n[`no-store`]===!0||e===`shared`&&(n.private===!0||Object.hasOwn(t,`set-cookie`))||(t.vary?s(t.vary):!1)}function E(e,t,r,i,a,s){return!(!g(n.safeHTTPMethods,t)||r<200||g(f,r)||!g(d,r)&&!i.expires&&!a.public&&a[`max-age`]===void 0&&!(a.private&&e===`private`)&&(a[`s-maxage`]===void 0||e!==`shared`)||a[`no-store`]||e===`shared`&&(a.private===!0||Object.hasOwn(i,`set-cookie`))||i.vary&&o(i.vary)||s!=null&&Object.hasOwn(s,`authorization`)&&(!a.public&&!a[`s-maxage`]&&!a[`must-revalidate`]||typeof s.authorization!=`string`||Array.isArray(a[`no-cache`])&&g(a[`no-cache`],`authorization`)||Array.isArray(a.private)&&g(a.private,`authorization`)))}function D(e){let t=e;if(Array.isArray(t)){if(t.length!==1)return null;t=t[0]}return typeof t==`string`?l(t):null}function O(e){let t=e;if(Array.isArray(t)){if(t.length!==1)return p;t=t[0]}if(typeof t!=`string`||!/^[\t ]*[0-9]+[\t ]*$/.test(t))return p;let n=BigInt(t.replace(/^[\t ]+|[\t ]+$/g,``));return n>=BigInt(p/1e3)?p:Number(n)*1e3}function k(e,t,n,r,a,o,s){if(e===`shared`){if(i(o,`s-maxage`))return 0;let e=o[`s-maxage`];if(e!==void 0)return e>0?e*1e3:0}if(i(o,`max-age`))return 0;let c=o[`max-age`];if(c!==void 0)return c>0?c*1e3:0;if(Object.hasOwn(r,`expires`)){if(typeof r.expires!=`string`)return 0;let e=l(r.expires);if(!e||t>=e.getTime())return 0;if(a){if(a>=e)return 0;let t=e.getTime()-a.getTime();return n!==void 0&&n>=t?0:t}return e.getTime()-t}if(typeof r[`last-modified`]==`string`){let e=l(r[`last-modified`]);if(e)return e.getTime()>=t?void 0:(t-e.getTime())*.1}if(o.immutable)return 31536e6;if(o[`no-cache`]===!0&&s)return 0}function A(e,t,n,r){let i=-1/0,a=-1/0,o=-1/0;if(n[`stale-while-revalidate`]&&(i=r+n[`stale-while-revalidate`]*1e3),n[`stale-if-error`]&&(a=r+n[`stale-if-error`]*1e3),n.immutable&&i===-1/0&&a===-1/0&&(o=t+31536e6),i===-1/0&&a===-1/0&&o===-1/0){let n=r-e;if(n<=0)return t+m;let i=Math.min(Math.max(t-e,0),1e3);return r+n+i}return Math.max(r,i,a,o)}function j(e,t){let n=[`connection`,`proxy-authenticate`,`proxy-authentication-info`,`proxy-authorization`,`proxy-connection`,`te`,`transfer-encoding`,`upgrade`,`age`];e.connection&&_(n,e.connection),Array.isArray(t[`no-cache`])&&n.push(...t[`no-cache`]),Array.isArray(t.private)&&n.push(...t.private);let r;for(let t of n)Object.hasOwn(e,t)&&(r??={...e},delete r[t]);return r??e}t.exports=S})),Tc=t(((t,n)=>{var{Writable:r}=e(`node:stream`),{EventEmitter:i}=e(`node:events`),{assertCacheKey:a,assertCacheValue:o}=Sc(),s=class extends i{#e=1024;#t=104857600;#n=5242880;#r=0;#i=0;#a=new Map;#o=!1;constructor(e){if(super(),e){if(typeof e!=`object`)throw TypeError(`MemoryCacheStore options must be an object`);if(e.maxCount!==void 0){if(typeof e.maxCount!=`number`||!Number.isInteger(e.maxCount)||e.maxCount<0)throw TypeError(`MemoryCacheStore options.maxCount must be a non-negative integer`);this.#e=e.maxCount}if(e.maxSize!==void 0){if(typeof e.maxSize!=`number`||!Number.isInteger(e.maxSize)||e.maxSize<0)throw TypeError(`MemoryCacheStore options.maxSize must be a non-negative integer`);this.#t=e.maxSize}if(e.maxEntrySize!==void 0){if(typeof e.maxEntrySize!=`number`||!Number.isInteger(e.maxEntrySize)||e.maxEntrySize<0)throw TypeError(`MemoryCacheStore options.maxEntrySize must be a non-negative integer`);this.#n=e.maxEntrySize}}}get size(){return this.#r}isFull(){return this.#r>=this.#t||this.#i>=this.#e}get(e){a(e);let t=`${e.origin}:${e.path}`,n=Date.now(),r=this.#a.get(t),i=r?c(e,r,n):null;return i==null?void 0:{statusMessage:i.statusMessage,statusCode:i.statusCode,headers:i.headers,body:i.body,vary:i.vary?i.vary:void 0,etag:i.etag,cacheControlDirectives:i.cacheControlDirectives,cachedAt:i.cachedAt,staleAt:i.staleAt,deleteAt:i.deleteAt}}createWriteStream(e,t){a(e),o(t);let n=`${e.origin}:${e.path}`,i=this,s={...e,...t,body:[],size:0};return new r({write(e,t,n){typeof e==`string`&&(e=Buffer.from(e,t)),s.size+=e.byteLength,s.size>i.#n?this.destroy():s.body.push(e),n(null)},final(t){let r=i.#a.get(n);r||(r=[],i.#a.set(n,r));let a=c(e,r,Date.now());if(a){let e=r.indexOf(a);r.splice(e,1,s),i.#r-=a.size}else r.push(s),i.#i+=1;if(i.#r+=s.size,i.#r>i.#t||i.#i>i.#e){i.#o||=(i.emit(`maxSizeExceeded`,{size:i.#r,maxSize:i.#t,count:i.#i,maxCount:i.#e}),!0);for(let[e,t]of i.#a){for(let e of t.splice(0,Math.ceil(t.length/2)))i.#r-=e.size,--i.#i;t.length===0&&i.#a.delete(e)}i.#r<i.#t&&i.#i<i.#e&&(i.#o=!1)}t(null)}})}delete(e){if(typeof e!=`object`)throw TypeError(`expected key to be object, got ${typeof e}`);let t=`${e.origin}:${e.path}`;for(let e of this.#a.get(t)??[])this.#r-=e.size,--this.#i;this.#a.delete(t)}};function c(e,t,n){for(let r=0;r<t.length;r++){let i=t[r];if(i.deleteAt>n&&i.method===e.method&&l(e,i))return i}}function l(e,t){if(t.vary==null)return!0;for(let n in t.vary)if(Object.hasOwn(t.vary,n)&&!u(e.headers?.[n],t.vary[n]))return!1;return!0}function u(e,t){if(e==null&&t==null)return!0;if(e==null&&t!=null||e!=null&&t==null)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return e===t}n.exports=s})),Ec=t(((t,n)=>{var r=e(`node:assert`);n.exports=class{#e=!1;#t;#n;#r;#i;constructor(e,t,n){if(typeof e!=`function`)throw TypeError(`callback must be a function`);this.#t=e,this.#n=t,this.#i=n}onRequestStart(e,t){this.#e=!1,this.#r=t}onRequestUpgrade(e,t,n,r){this.#n.onRequestUpgrade?.(e,t,n,r)}onResponseStart(e,t,n,i){if(r(this.#t!=null),this.#e=t===304||this.#i&&t>=500&&t<=504,this.#t(this.#e,this.#r,t,n),this.#t=null,this.#e)return!0;this.#n.onRequestStart?.(e,this.#r),this.#n.onResponseStart?.(e,t,n,i)}onResponseData(e,t){if(!this.#e)return this.#n.onResponseData?.(e,t)}onResponseEnd(e,t){this.#e||this.#n.onResponseEnd?.(e,t)}onResponseError(e,t){if(!this.#e){if(this.#t){if(this.#i){this.#e=!0,this.#t(!0,this.#r),this.#t=null;return}this.#t(!1),this.#t=null}if(typeof this.#n.onResponseError==`function`)this.#n.onResponseError(e,t);else throw t}}}})),Dc=t(((t,n)=>{var r=e(`node:assert`),{Readable:i}=e(`node:stream`),a=$(),o=wc(),s=Tc(),c=Ec(),{assertCacheStore:l,assertCacheMethods:u,getInterceptorOrigin:d,makeCacheKey:f,normalizeHeaders:p,parseCacheControlHeader:m,isInvalidOrWildcardVaryHeader:h,parseVaryHeader:g}=Sc(),{AbortError:_}=Q(),{parseHttpDate:v}=Cc();function y(e,t){if(e!==void 0){if(!Array.isArray(e))throw TypeError(`expected ${t} to be an array or undefined, got ${typeof e}`);for(let n=0;n<e.length;n++){let r=e[n];if(typeof r!=`string`&&!(r instanceof RegExp))throw TypeError(`expected ${t}[${n}] to be a string or RegExp, got ${typeof r}`)}}}var b=()=>{};function x(e){return e.replace(/^[\t ]+|[\t ]+$/g,``)}function S(e,t){for(let n=0;n<e.length;n++)if(e[n]===t)return!0;return!1}function C(e){let t=e?.pragma;if(!t)return!1;let n=Array.isArray(t)?t:[t];for(let e=0;e<n.length;e++){let t=n[e];if(typeof t!=`string`)continue;let r=t.split(`,`);for(let e=0;e<r.length;e++)if(x(r[e]).toLowerCase()===`no-cache`)return!0}return!1}function w(e,t,{headers:n={}}){return!!(t?.[`no-cache`]||e.cacheControlDirectives?.[`no-cache`]&&!Array.isArray(e.cacheControlDirectives[`no-cache`])||n[`if-modified-since`]||n[`if-none-match`])}function T(e,t){return e.cacheControlDirectives?.[`must-revalidate`]===!0||t===`shared`&&(e.cacheControlDirectives?.[`proxy-revalidate`]===!0||e.cacheControlDirectives?.[`s-maxage`]!==void 0)}function E(e,t){if(t.vary&&h(t.vary)||e===`shared`&&Object.hasOwn(t,`set-cookie`))return!0;let n=t[`cache-control`];if(!n)return!1;let r=m(n);return r[`no-store`]===!0||e===`shared`&&r.private===!0}function D(e){return e[`cache-control`]!==void 0}function O(e,t){if(!t)return!1;for(let n in t)if(e.vary==null||!Object.hasOwn(e.vary,n))return!0;return!1}function k(e,t){try{e.delete(t)?.catch?.(b)}catch{}}function A(e){let t=e?.[`last-modified`];if(typeof t==`string`&&v(t))return t}function j(e,t){let n={...e.headers,"if-modified-since":A(t.headers)??new Date(t.cachedAt).toUTCString()};if(t.etag&&(n[`if-none-match`]=t.etag),t.vary)for(let e in t.vary)t.vary[e]!=null&&(n[e]=t.vary[e]);return n}function M(e,t,n){let r=Date.now();return r>e.staleAt?!T(e,n)&&t?.[`max-stale`]?r>e.staleAt+t[`max-stale`]*1e3:!0:t?.[`min-fresh`]?e.staleAt-r<=t[`min-fresh`]*1e3:!1}function N(e,t){let n=e.cacheControlDirectives?.[`stale-while-revalidate`];return!n||T(e,t)?!1:Date.now()<=e.staleAt+n*1e3}function P(e,t,n,r,i,a){if(a?.[`only-if-cached`]){let e=!1,t={paused:!1,rawHeaders:[],rawTrailers:[],pause(){this.paused=!0},resume(){this.paused=!1},abort:n=>{e=!0,r.onResponseError?.(t,n??new _)}};try{if(r.onRequestStart?.(t,null),e||(r.onResponseStart?.(t,504,{},`Gateway Timeout`),e))return;r.onResponseEnd?.(t,{})}catch(e){typeof r.onResponseError==`function`&&r.onResponseError(t,e)}return!0}return e(i,new o(t,n,r))}function F(e,t,n,o,s,c){let l=a.isStream(n.body)?n.body:i.from(n.body??[]);r(!l.destroyed,`stream should not be destroyed`),r(!l.readableDidRead,`stream should not be readableDidRead`);let u={rawHeaders:[],rawTrailers:[],resume(){l.resume()},pause(){l.pause()},get paused(){return l.isPaused()},get aborted(){return l.destroyed},get reason(){return l.errored},abort(e){l.destroy(e??new _)}};if(l.on(`error`,function(t){if(!this.readableEnded){if(typeof e.onResponseError==`function`)e.onResponseError(u,t);else throw t}}).on(`close`,function(){this.errored||e.onResponseEnd?.(u,{})}),e.onRequestStart?.(u,s),l.destroyed)return;let d={...n.headers,age:String(o)};c&&(d.warning=`110 - "response is stale"`),u.rawHeaders=a.toRawHeaders(d),e.onResponseStart?.(u,n.statusCode,d,n.statusMessage),t.method===`HEAD`?l.destroy():l.on(`data`,function(t){e.onResponseData?.(u,t)})}function I(e,t,n,r,i,s,l){if(!l)return P(e,t,n,r,i,s);if(t.type===`shared`&&Object.hasOwn(l.headers,`set-cookie`))return a.isStream(l.body)&&l.body.on(`error`,b).destroy(),k(t.store,n),P(e,t,n,r,i,s);let u=Date.now();if(u>l.deleteAt)return e(i,new o(t,n,r));let d=Math.round((u-l.cachedAt)/1e3),f=s?.[`max-age`]!==void 0&&d>=s[`max-age`],p=f||M(l,s,t.type),m=f||w(l,s,i);if(p||m){if(a.isStream(i.body)&&a.bodyLength(i.body)!==0)return e(i,new o(t,n,r));if(!m&&N(l,t.type))return F(r,i,l,d,null,!0),queueMicrotask(()=>{let r=j(i,l);e({...i,headers:r},new o(t,n,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let f=!1;if(!T(l,t.type)){let e=l.cacheControlDirectives[`stale-if-error`]??s?.[`stale-if-error`];e&&(f=u<l.staleAt+e*1e3)}let h=j(i,l);return e({...i,headers:h},new c((s,c,u,f)=>{if(s){if(u===304){if(E(t.type,f))return a.isStream(l.body)&&l.body.on(`error`,b).destroy(),k(t.store,n),e(i,new o(t,n,r));if(D(f))k(t.store,n);else if(O(l,f.vary?g(f.vary,i.headers):void 0))return a.isStream(l.body)&&l.body.on(`error`,b).destroy(),k(t.store,n),e(i,new o(t,n,r))}F(r,i,l,d,c,p)}else a.isStream(l.body)&&l.body.on(`error`,b).destroy()},new o(t,n,r),f))}a.isStream(i.body)&&i.body.on(`error`,b).destroy(),F(r,i,l,d,null,!1)}n.exports=(e={})=>{let{store:t=new s,methods:n=[`GET`],cacheByDefault:r=void 0,type:i=`shared`,origins:c=void 0}=e;if(typeof e!=`object`||!e)throw TypeError(`expected type of opts to be an Object, got ${e===null?`null`:typeof e}`);if(l(t,`opts.store`),u(n,`opts.methods`),y(c,`opts.origins`),r!==void 0&&typeof r!=`number`)throw TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof r}`);if(i!==void 0&&i!==`shared`&&i!==`private`)throw TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof i}`);let h={store:t,methods:n,cacheByDefault:r,type:i},g=[];for(let e=0;e<a.safeHTTPMethods.length;e++){let t=a.safeHTTPMethods[e];S(n,t)||g.push(t)}return(e,n)=>(r,i)=>{let s=d(r,n);if(!s||S(g,r.method))return e(r,i);if(c!==void 0){let t=s.toString().toLowerCase(),n=!1;for(let e=0;e<c.length;e++){let r=c[e];if(typeof r==`string`){if(r.toLowerCase()===t){n=!0;break}}else if(r.test(t)){n=!0;break}}if(!n)return e(r,i)}r={...r,headers:p(r)};let l=r.headers?.[`cache-control`]?m(r.headers[`cache-control`]):C(r.headers)?{"no-cache":!0}:void 0;if(l?.[`no-store`])return e(r,i);let u=f(r,s);if(!S(a.safeHTTPMethods,r.method))return e(r,new o(h,u,i));let _=t.get(u);return _&&typeof _.then==`function`?_.then(t=>I(e,h,u,i,r,l,t)):I(e,h,u,i,r,l,_)}}})),Oc=t(((t,n)=>{var{createInflate:r,createGunzip:i,createBrotliDecompress:a,createZstdDecompress:o}=e(`node:zlib`),{pipeline:s,Transform:c}=e(`node:stream`),{InvalidArgumentError:l,ResponseExceededMaxSizeError:u}=Q(),d=hc(),f={gzip:i,"x-gzip":i,br:a,deflate:r,compress:r,"x-compress":r,zstd:o},p=[204,304],m=67108864;function h(e){let t=0;return new c({transform(n,r,i){let a=t+n.length;if(a>e){i(new u(`Decompressed response size (${a}) exceeded maxSize (${e})`));return}t=a,i(null,n)}})}var g=!1,_=class extends d{#e=[];#t;#n;#r;#i;#a=0;#o=!1;#s=!1;constructor(e,{skipStatusCodes:t=p,skipErrorResponses:n=!0,maxSize:r=m}={}){if(!Number.isSafeInteger(r)||r<1)throw new l(`maxSize must be a positive integer`);super(e),this.#n=t,this.#r=n,this.#i=r}#c(e,t){return!!(!e||t<200||this.#n.includes(t)||this.#r&&t>=400)}#l(e){let t=e.split(`,`);if(t.length>5)throw Error(`too many content-encodings in response: ${t.length}, maximum allowed is 5`);let n=[];for(let e=t.length-1;e>=0;e--){let r=t[e].trim();if(r){if(!f[r])return n.length=0,n;n.push(f[r]())}}if(n.length<2)return n;let r=[];for(let e=0;e<n.length;e++)r.push(n[e]),e<n.length-1&&r.push(h(this.#i));return r}#u(e,t){this.#o||(this.#s?this.onResponseError(e,t):e.abort(t))}#d(e,t){e.on(`readable`,()=>{if(this.#o)return;let n;for(;(n=e.read())!==null;){let e=this.#a+n.length;if(e>this.#i){this.#u(t,new u(`Decompressed response size (${e}) exceeded maxSize (${this.#i})`));return}if(this.#a=e,super.onResponseData(t,n)===!1)break}}),e.on(`error`,e=>{this.#u(t,e)})}#f(e){let t=this.#e[0];this.#d(t,e),t.on(`end`,()=>{this.#o||(this.#o=!0,this.#m(),super.onResponseEnd(e,this.#t))})}#p(e){let t=this.#e[this.#e.length-1];this.#d(t,e),s(this.#e,t=>{if(!this.#o){if(t){this.#u(e,t);return}this.#o=!0,this.#m(),super.onResponseEnd(e,this.#t)}})}#m(){this.#e.length=0}onResponseStart(e,t,n,r){let i=n[`content-encoding`];if(this.#c(i,t))return super.onResponseStart(e,t,n,r);let a=this.#l(i.toLowerCase());if(a.length===0)return this.#m(),super.onResponseStart(e,t,n,r);this.#e=a;let{"content-encoding":o,"content-length":s,...c}=n;if(e?.rawHeaders){let t=e.rawHeaders;if(Array.isArray(t)){let e=[];for(let n=0;n<t.length;n+=2){let r=t[n],i=(Buffer.isBuffer(r)?r.toString(`latin1`):`${r}`).toLowerCase();i!==`content-encoding`&&i!==`content-length`&&e.push(t[n],t[n+1])}t.splice(0,t.length,...e)}else if(typeof t==`object`)for(let e of Object.keys(t)){let n=e.toLowerCase();(n===`content-encoding`||n===`content-length`)&&delete t[e]}}return this.#e.length===1?this.#f(e):this.#p(e),super.onResponseStart(e,t,c,r)}onResponseData(e,t){if(this.#e.length>0){this.#e[0].write(t);return}super.onResponseData(e,t)}onResponseEnd(e,t){if(this.#e.length>0){this.#s=!0,this.#t=t,this.#e[0].end();return}super.onResponseEnd(e,t)}onResponseError(e,t){if(!this.#o){this.#o=!0;for(let e of this.#e)e.destroy();this.#m(),super.onResponseError(e,t)}}};function v(e={}){return g||=(process.emitWarning(`DecompressInterceptor is experimental and subject to change`,`ExperimentalWarning`),!0),t=>(n,r)=>n.method===`HEAD`?t(n,r):t(n,new _(r,e))}n.exports=v})),kc=t(((e,t)=>{var{RequestAbortedError:n}=Q(),r=5242880;t.exports=class{#e;#t=[];#n=r;#r=0;#i={};#a=``;#o=!1;#s=!1;#c=!1;#l=!1;#u=null;#d=null;constructor(e,t,n=r){this.#e=e,this.#d=t,this.#n=n}addWaitingHandler(e){if(this.#l||this.#c)return!1;let t=this.#f(e),n=t.controller;try{if(e.onRequestStart?.(n,null),n.aborted)return t.done=!0,!0;this.#s&&e.onResponseStart?.(n,this.#r,this.#i,this.#a)}catch{return t.done=!0,!0}return n.aborted||this.#t.push(t),!0}onRequestStart(e,t){this.#u=e,this.#e.onRequestStart?.(e,t)}onRequestUpgrade(e,t,n,r){this.#e.onRequestUpgrade?.(e,t,n,r)}onResponseStart(e,t,n,r){this.#s=!0,this.#r=t,this.#i=n,this.#a=r,this.#e.onResponseStart?.(e,t,n,r);for(let e of this.#t){let{handler:i,controller:a}=e;if(e.done||a.aborted){e.done=!0;continue}try{i.onResponseStart?.(a,t,n,r)}catch{}a.aborted&&(e.done=!0)}this.#g()}onResponseData(e,t){if(!(this.#o||this.#l)){this.#c=!0,this.#e.onResponseData?.(e,t);for(let e of this.#t){let{handler:n,controller:r}=e;if(e.done||r.aborted){e.done=!0;continue}if(r.paused){this.#p(e,t);continue}try{n.onResponseData?.(r,t)}catch{}r.aborted&&(e.done=!0,e.bufferedChunks=[],e.bufferedBytes=0)}this.#g()}}onResponseEnd(e,t){if(!(this.#o||this.#l)){this.#l=!0,this.#e.onResponseEnd?.(e,t);for(let e of this.#t){if(e.done||e.controller.aborted){e.done=!0;continue}if(this.#m(e),e.done||e.controller.aborted){e.done=!0;continue}if(e.controller.paused&&e.bufferedChunks.length>0){e.pendingTrailers=t;continue}try{e.handler.onResponseEnd?.(e.controller,t)}catch{}e.done=!0}this.#g(),this.#d?.()}}onResponseError(e,t){if(!this.#l){this.#o=!0,this.#l=!0,this.#e.onResponseError?.(e,t);for(let e of this.#t)this.#h(e,t);this.#t=[],this.#d?.()}}#f(e){let t={handler:e,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},r={aborted:!1,paused:!1,reason:null};return t.controller={resume:()=>{if(!r.aborted){if(r.paused=!1,this.#m(t),this.#l&&t.pendingTrailers&&t.bufferedChunks.length===0&&!r.paused&&!r.aborted){try{t.handler.onResponseEnd?.(t.controller,t.pendingTrailers)}catch{}t.pendingTrailers=null,t.done=!0}this.#g()}},pause:()=>{r.aborted||(r.paused=!0)},get paused(){return r.paused},get aborted(){return r.aborted},get reason(){return r.reason},abort:i=>{if(!r.aborted){r.aborted=!0,r.reason=i??null,t.done=!0,t.pendingTrailers=null,t.bufferedChunks=[],t.bufferedBytes=0;try{e.onResponseError?.(t.controller,r.reason??new n)}catch{}}}},t}#p(e,t){if(e.done||e.controller.aborted){e.done=!0,e.bufferedChunks=[],e.bufferedBytes=0;return}let r=Buffer.from(t);if(e.bufferedChunks.push(r),e.bufferedBytes+=r.length,e.bufferedBytes>this.#n){let t=new n(`Deduplicated waiting handler exceeded maxBufferSize (${this.#n} bytes) while paused`);this.#h(e,t)}}#m(e){let{handler:t,controller:n}=e;for(;!e.done&&!n.aborted&&!n.paused&&e.bufferedChunks.length>0;){let r=e.bufferedChunks.shift();e.bufferedBytes-=r.length;try{t.onResponseData?.(n,r)}catch{}if(n.aborted){e.done=!0,e.pendingTrailers=null,e.bufferedChunks=[],e.bufferedBytes=0;break}}}#h(e,t){e.done||(e.done=!0,e.pendingTrailers=null,e.bufferedChunks=[],e.bufferedBytes=0,e.controller.abort(t))}#g(){this.#t=this.#t.filter(e=>e.done===!1)}}})),Ac=t(((t,n)=>{var r=e(`node:diagnostics_channel`),i=$(),a=kc(),{getInterceptorOrigin:o,normalizeHeaders:s,makeCacheKey:c,makeDeduplicationKey:l}=Sc(),u=r.channel(`undici:request:pending-requests`);n.exports=(e={})=>{let{methods:t=[`GET`],skipHeaderNames:n=[],excludeHeaderNames:r=[],maxBufferSize:d=5242880}=e;if(typeof e!=`object`||!e)throw TypeError(`expected type of opts to be an Object, got ${e===null?`null`:typeof e}`);if(!Array.isArray(t))throw TypeError(`expected opts.methods to be an array, got ${typeof t}`);for(let e of t)if(!i.safeHTTPMethods.includes(e))throw TypeError(`expected opts.methods to only contain safe HTTP methods, got ${e}`);if(!Array.isArray(n))throw TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof n}`);if(!Array.isArray(r))throw TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof r}`);if(!Number.isFinite(d)||d<=0)throw TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${d}`);let f=new Set(n.map(e=>e.toLowerCase())),p=new Set(r.map(e=>e.toLowerCase())),m=new Map;return(e,n)=>(r,i)=>{let h=o(r,n);if(!h||r.upgrade||t.includes(r.method)===!1)return e(r,i);if(r={...r,headers:s(r)},f.size>0){for(let t of Object.keys(r.headers))if(f.has(t.toLowerCase()))return e(r,i)}let g=l(c(r,h),p),_=m.get(g);if(_)return _.addWaitingHandler(i)?!0:e(r,i);let v=new a(i,()=>{m.delete(g),u.hasSubscribers&&u.publish({size:m.size,key:g,type:`removed`})},d);return m.set(g,v),u.hasSubscribers&&u.publish({size:m.size,key:g,type:`added`}),e(r,v)}}})),jc=t(((t,n)=>{var{Writable:r}=e(`node:stream`),{assertCacheKey:i,assertCacheValue:a}=Sc(),o,s=3,c=2e9;n.exports=class{#e=c;#t=1/0;#n;#r;#i;#a;#o;#s;#c;#l;constructor(t){if(t){if(typeof t!=`object`)throw TypeError(`SqliteCacheStore options must be an object`);if(t.maxEntrySize!==void 0){if(typeof t.maxEntrySize!=`number`||!Number.isInteger(t.maxEntrySize)||t.maxEntrySize<0)throw TypeError(`SqliteCacheStore options.maxEntrySize must be a non-negative integer`);if(t.maxEntrySize>c)throw TypeError(`SqliteCacheStore options.maxEntrySize must be less than 2gb`);this.#e=t.maxEntrySize}if(t.maxCount!==void 0){if(typeof t.maxCount!=`number`||!Number.isInteger(t.maxCount)||t.maxCount<0)throw TypeError(`SqliteCacheStore options.maxCount must be a non-negative integer`);this.#t=t.maxCount}}o||=e(`node:sqlite`).DatabaseSync,this.#n=new o(t?.location??`:memory:`),this.#n.exec(`
29
+ PRAGMA journal_mode = WAL;
30
+ PRAGMA synchronous = NORMAL;
31
+ PRAGMA temp_store = memory;
32
+ PRAGMA optimize;
33
+
34
+ CREATE TABLE IF NOT EXISTS cacheInterceptorV${s} (
35
+ -- Data specific to us
36
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
37
+ url TEXT NOT NULL,
38
+ method TEXT NOT NULL,
39
+
40
+ -- Data returned to the interceptor
41
+ body BUF NULL,
42
+ deleteAt INTEGER NOT NULL,
43
+ statusCode INTEGER NOT NULL,
44
+ statusMessage TEXT NOT NULL,
45
+ headers TEXT NULL,
46
+ cacheControlDirectives TEXT NULL,
47
+ etag TEXT NULL,
48
+ vary TEXT NULL,
49
+ cachedAt INTEGER NOT NULL,
50
+ staleAt INTEGER NOT NULL
51
+ );
52
+
53
+ CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${s}_getValuesQuery ON cacheInterceptorV${s}(url, method, deleteAt);
54
+ CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${s}_deleteByUrlQuery ON cacheInterceptorV${s}(deleteAt);
55
+ `),this.#r=this.#n.prepare(`
56
+ SELECT
57
+ id,
58
+ body,
59
+ deleteAt,
60
+ statusCode,
61
+ statusMessage,
62
+ headers,
63
+ etag,
64
+ cacheControlDirectives,
65
+ vary,
66
+ cachedAt,
67
+ staleAt
68
+ FROM cacheInterceptorV${s}
69
+ WHERE
70
+ url = ?
71
+ AND method = ?
72
+ ORDER BY
73
+ deleteAt ASC
74
+ `),this.#i=this.#n.prepare(`
75
+ UPDATE cacheInterceptorV${s} SET
76
+ body = ?,
77
+ deleteAt = ?,
78
+ statusCode = ?,
79
+ statusMessage = ?,
80
+ headers = ?,
81
+ etag = ?,
82
+ cacheControlDirectives = ?,
83
+ vary = ?,
84
+ cachedAt = ?,
85
+ staleAt = ?
86
+ WHERE
87
+ id = ?
88
+ `),this.#a=this.#n.prepare(`
89
+ INSERT INTO cacheInterceptorV${s} (
90
+ url,
91
+ method,
92
+ body,
93
+ deleteAt,
94
+ statusCode,
95
+ statusMessage,
96
+ headers,
97
+ etag,
98
+ cacheControlDirectives,
99
+ vary,
100
+ cachedAt,
101
+ staleAt
102
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
103
+ `),this.#s=this.#n.prepare(`DELETE FROM cacheInterceptorV${s} WHERE url = ?`),this.#c=this.#n.prepare(`SELECT COUNT(*) AS total FROM cacheInterceptorV${s}`),this.#o=this.#n.prepare(`DELETE FROM cacheInterceptorV${s} WHERE deleteAt <= ?`),this.#l=this.#t===1/0?null:this.#n.prepare(`
104
+ DELETE FROM cacheInterceptorV${s}
105
+ WHERE id IN (
106
+ SELECT
107
+ id
108
+ FROM cacheInterceptorV${s}
109
+ ORDER BY cachedAt ASC
110
+ LIMIT ?
111
+ )
112
+ `)}close(){this.#n.close()}get(e){i(e);let t=this.#f(e);return t?{body:t.body?Buffer.from(t.body.buffer,t.body.byteOffset,t.body.byteLength):void 0,statusCode:t.statusCode,statusMessage:t.statusMessage,headers:t.headers?JSON.parse(t.headers):void 0,etag:t.etag?t.etag:void 0,vary:t.vary?JSON.parse(t.vary):void 0,cacheControlDirectives:t.cacheControlDirectives?JSON.parse(t.cacheControlDirectives):void 0,cachedAt:t.cachedAt,staleAt:t.staleAt,deleteAt:t.deleteAt}:void 0}set(e,t){i(e);let n=this.#d(e),r=Array.isArray(t.body)?Buffer.concat(t.body):t.body,a=r?.byteLength;if(a&&a>this.#e)return;let o=this.#f(e,!0);o?this.#i.run(r,t.deleteAt,t.statusCode,t.statusMessage,t.headers?JSON.stringify(t.headers):null,t.etag?t.etag:null,t.cacheControlDirectives?JSON.stringify(t.cacheControlDirectives):null,t.vary?JSON.stringify(t.vary):null,t.cachedAt,t.staleAt,o.id):(this.#a.run(n,e.method,r,t.deleteAt,t.statusCode,t.statusMessage,t.headers?JSON.stringify(t.headers):null,t.etag?t.etag:null,t.cacheControlDirectives?JSON.stringify(t.cacheControlDirectives):null,t.vary?JSON.stringify(t.vary):null,t.cachedAt,t.staleAt),this.#u())}createWriteStream(e,t){i(e),a(t);let n=0,o=[],s=this;return new r({decodeStrings:!0,write(e,t,r){n+=e.byteLength,n<=s.#e?o.push(e):this.destroy(),r()},final(n){s.set(e,{...t,body:o}),n()}})}delete(e){if(typeof e!=`object`)throw TypeError(`expected key to be object, got ${typeof e}`);this.#s.run(this.#d(e))}#u(){if(Number.isFinite(this.#t)&&this.size<=this.#t)return 0;{let e=this.#o.run(Date.now()).changes;if(e)return e}{let e=this.#l?.run(Math.max(Math.floor(this.#t*.1),1)).changes;if(e)return e}return 0}get size(){let{total:e}=this.#c.get();return e}#d(e){return`${e.origin}/${e.path}`}#f(e,t=!1){let n=this.#d(e),{headers:r,method:i}=e,a=this.#r.all(n,i);if(a.length===0)return;let o=Date.now();for(let e of a){if(o>=e.deleteAt&&!t)continue;let n=!0;if(e.vary){let t=JSON.parse(e.vary);for(let e in t)if(!l(r[e],t[e])){n=!1;break}}if(n)return e}}};function l(e,t){if(e==null&&t==null)return!0;if(e==null&&t!=null||e!=null&&t==null)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return e===t}})),Mc=t(((t,n)=>{var{kConstruct:r}=Z(),{kEnumerableProperty:i}=$(),{iteratorMixin:a,isValidHeaderName:o,isValidHeaderValue:s}=Ts(),{webidl:c}=ws(),l=e(`node:assert`),u=e(`node:util`);function d(e){return e===10||e===13||e===9||e===32}function f(e){let t=0,n=e.length;for(;n>t&&d(e.charCodeAt(n-1));)--n;for(;n>t&&d(e.charCodeAt(t));)++t;return t===0&&n===e.length?e:e.substring(t,n)}function p(e,t){if(Array.isArray(t))for(let n=0;n<t.length;++n){let r=t[n];if(r.length!==2)throw c.errors.exception({header:`Headers constructor`,message:`expected name/value pair to be length 2, found ${r.length}.`});m(e,r[0],r[1])}else if(typeof t==`object`&&t){let n=Object.keys(t);for(let r=0;r<n.length;++r)m(e,n[r],t[n[r]])}else throw c.errors.conversionFailed({prefix:`Headers constructor`,argument:`Argument 1`,types:[`sequence<sequence<ByteString>>`,`record<ByteString, ByteString>`]})}function m(e,t,n){if(n=f(n),!o(t))throw c.errors.invalidArgument({prefix:`Headers.append`,value:t,type:`header name`});if(!s(n))throw c.errors.invalidArgument({prefix:`Headers.append`,value:n,type:`header value`});if(y(e)===`immutable`)throw TypeError(`immutable`);return x(e).append(t,n,!1)}function h(e){let t=x(e);if(!t)return[];if(t.sortedMap)return t.sortedMap;let n=[],r=t.toSortedArray(),i=t.cookies;if(i===null||i.length===1)return t.sortedMap=r;for(let e=0;e<r.length;++e){let{0:t,1:a}=r[e];if(t===`set-cookie`)for(let e=0;e<i.length;++e)n.push([t,i[e]]);else n.push([t,a])}return t.sortedMap=n}function g(e,t){return e[0]<t[0]?-1:1}var _=class e{cookies=null;sortedMap;headersMap;constructor(t){t instanceof e?(this.headersMap=new Map(t.headersMap),this.sortedMap=t.sortedMap,this.cookies=t.cookies===null?null:[...t.cookies]):(this.headersMap=new Map(t),this.sortedMap=null)}contains(e,t){return this.headersMap.has(t?e:e.toLowerCase())}clear(){this.headersMap.clear(),this.sortedMap=null,this.cookies=null}append(e,t,n){this.sortedMap=null;let r=n?e:e.toLowerCase(),i=this.headersMap.get(r);if(i){let e=r===`cookie`?`; `:`, `;this.headersMap.set(r,{name:i.name,value:`${i.value}${e}${t}`})}else this.headersMap.set(r,{name:e,value:t});r===`set-cookie`&&(this.cookies??=[]).push(t)}set(e,t,n){this.sortedMap=null;let r=n?e:e.toLowerCase();r===`set-cookie`&&(this.cookies=[t]),this.headersMap.set(r,{name:e,value:t})}delete(e,t){this.sortedMap=null,t||(e=e.toLowerCase()),e===`set-cookie`&&(this.cookies=null),this.headersMap.delete(e)}get(e,t){return this.headersMap.get(t?e:e.toLowerCase())?.value??null}*[Symbol.iterator](){for(let{0:e,1:{value:t}}of this.headersMap)yield[e,t]}get entries(){let e={};if(this.headersMap.size!==0)for(let{name:t,value:n}of this.headersMap.values())e[t]=n;return e}rawValues(){return this.headersMap.values()}get entriesList(){let e=[];if(this.headersMap.size!==0)for(let{0:t,1:{name:n,value:r}}of this.headersMap)if(t===`set-cookie`)for(let t of this.cookies)e.push([n,t]);else e.push([n,r]);return e}toSortedArray(){let e=this.headersMap.size,t=Array(e);if(e<=32){if(e===0)return t;let n=this.headersMap[Symbol.iterator](),r=n.next().value;t[0]=[r[0],r[1].value],l(r[1].value!==null);for(let r=1,i=0,a=0,o=0,s=0,c,u;r<e;++r){for(u=n.next().value,c=t[r]=[u[0],u[1].value],l(c[1]!==null),o=0,a=r;o<a;)s=o+(a-o>>1),t[s][0]<=c[0]?o=s+1:a=s;if(r!==s){for(i=r;i>o;)t[i]=t[--i];t[o]=c}}if(!n.next().done)throw TypeError(`Unreachable`);return t}{let e=0;for(let{0:n,1:{value:r}}of this.headersMap)t[e++]=[n,r],l(r!==null);return t.sort(g)}}},v=class e{#e;#t;constructor(e=void 0){c.util.markAsUncloneable(this),e!==r&&(this.#t=new _,this.#e=`none`,e!==void 0&&(e=c.converters.HeadersInit(e,`Headers constructor`,`init`),p(this,e)))}append(t,n){c.brandCheck(this,e),c.argumentLengthCheck(arguments,2,`Headers.append`);let r=`Headers.append`;return t=c.converters.ByteString(t,r,`name`),n=c.converters.ByteString(n,r,`value`),m(this,t,n)}delete(t){if(c.brandCheck(this,e),c.argumentLengthCheck(arguments,1,`Headers.delete`),t=c.converters.ByteString(t,`Headers.delete`,`name`),!o(t))throw c.errors.invalidArgument({prefix:`Headers.delete`,value:t,type:`header name`});if(this.#e===`immutable`)throw TypeError(`immutable`);this.#t.contains(t,!1)&&this.#t.delete(t,!1)}get(t){c.brandCheck(this,e),c.argumentLengthCheck(arguments,1,`Headers.get`);let n=`Headers.get`;if(t=c.converters.ByteString(t,n,`name`),!o(t))throw c.errors.invalidArgument({prefix:n,value:t,type:`header name`});return this.#t.get(t,!1)}has(t){c.brandCheck(this,e),c.argumentLengthCheck(arguments,1,`Headers.has`);let n=`Headers.has`;if(t=c.converters.ByteString(t,n,`name`),!o(t))throw c.errors.invalidArgument({prefix:n,value:t,type:`header name`});return this.#t.contains(t,!1)}set(t,n){c.brandCheck(this,e),c.argumentLengthCheck(arguments,2,`Headers.set`);let r=`Headers.set`;if(t=c.converters.ByteString(t,r,`name`),n=c.converters.ByteString(n,r,`value`),n=f(n),!o(t))throw c.errors.invalidArgument({prefix:r,value:t,type:`header name`});if(!s(n))throw c.errors.invalidArgument({prefix:r,value:n,type:`header value`});if(this.#e===`immutable`)throw TypeError(`immutable`);this.#t.set(t,n,!1)}getSetCookie(){c.brandCheck(this,e);let t=this.#t.cookies;return t?[...t]:[]}[u.inspect.custom](e,t){return t.depth??=e,`Headers ${u.formatWithOptions(t,this.#t.entries)}`}static getHeadersGuard(e){return e.#e}static setHeadersGuard(e,t){e.#e=t}static getHeadersList(e){return e.#t}static setHeadersList(e,t){e.#t=t}},{getHeadersGuard:y,setHeadersGuard:b,getHeadersList:x,setHeadersList:S}=v;Reflect.deleteProperty(v,`getHeadersGuard`),Reflect.deleteProperty(v,`setHeadersGuard`),Reflect.deleteProperty(v,`getHeadersList`),Reflect.deleteProperty(v,`setHeadersList`),a(`Headers`,v,h,0,1),Object.defineProperties(v.prototype,{append:i,delete:i,get:i,has:i,set:i,getSetCookie:i,[Symbol.toStringTag]:{value:`Headers`,configurable:!0},[u.inspect.custom]:{enumerable:!1}}),c.converters.HeadersInit=function(e,t,n){if(c.util.Type(e)===c.util.Types.OBJECT){let r=Reflect.get(e,Symbol.iterator);if(!u.types.isProxy(e)&&r===v.prototype.entries)try{return x(e).entriesList}catch{}return typeof r==`function`?c.converters[`sequence<sequence<ByteString>>`](e,t,n,r.bind(e)):c.converters[`record<ByteString, ByteString>`](e,t,n)}throw c.errors.conversionFailed({prefix:`Headers constructor`,argument:`Argument 1`,types:[`sequence<sequence<ByteString>>`,`record<ByteString, ByteString>`]})},n.exports={fill:p,compareHeaderName:g,Headers:v,HeadersList:_,getHeadersGuard:y,setHeadersGuard:b,setHeadersList:S,getHeadersList:x}})),Nc=t(((t,n)=>{var{Headers:r,HeadersList:i,fill:a,getHeadersGuard:o,setHeadersGuard:s,setHeadersList:c}=Mc(),{extractBody:l,cloneBody:u,mixinBody:d,streamRegistry:f,bodyUnusable:p}=ks(),m=$(),h=e(`node:util`),{kEnumerableProperty:g}=m,{isValidReasonPhrase:_,isCancelled:v,isAborted:y,isErrorLike:b,environmentSettingsObject:x}=Ts(),{redirectStatusSet:S,nullBodyStatus:C}=ys(),{webidl:w}=ws(),{URLSerializer:T}=Cs(),{kConstruct:E}=Z(),D=e(`node:assert`),{isomorphicEncode:O,serializeJavascriptValueToJSONString:k}=Ss(),A=new TextEncoder(`utf-8`),j=class e{#e;#t;static error(){return te(R(),`immutable`)}static json(e,t=void 0){w.argumentLengthCheck(arguments,1,`Response.json`),t=w.converters.ResponseInit(t);let n=l(A.encode(k(e))),r=te(L({}),`response`);return H(r,t,{body:n[0],type:`application/json`}),r}static redirect(e,t=302){w.argumentLengthCheck(arguments,1,`Response.redirect`),e=w.converters.USVString(e),t=w.converters[`unsigned short`](t);let n;try{n=new URL(e,x.settingsObject.baseUrl)}catch(t){throw TypeError(`Failed to parse URL from ${e}`,{cause:t})}if(!S.has(t))throw RangeError(`Invalid status code ${t}`);let r=te(L({}),`immutable`);r.#t.status=t;let i=O(T(n));return r.#t.headersList.append(`location`,i,!0),r}constructor(e=null,t=void 0){if(w.util.markAsUncloneable(this),e===E)return;e!==null&&(e=w.converters.BodyInit(e,`Response`,`body`)),t=w.converters.ResponseInit(t),this.#t=L({}),this.#e=new r(E),s(this.#e,`response`),c(this.#e,this.#t.headersList);let n=null;if(e!=null){let[t,r]=l(e);n={body:t,type:r}}H(this,t,n)}get type(){return w.brandCheck(this,e),this.#t.type}get url(){w.brandCheck(this,e);let t=this.#t.urlList,n=t[t.length-1]??null;return n===null?``:T(n,!0)}get redirected(){return w.brandCheck(this,e),this.#t.urlList.length>1}get status(){return w.brandCheck(this,e),this.#t.status}get ok(){return w.brandCheck(this,e),this.#t.status>=200&&this.#t.status<=299}get statusText(){return w.brandCheck(this,e),this.#t.statusText}get headers(){return w.brandCheck(this,e),this.#e}get body(){return w.brandCheck(this,e),this.#t.body?this.#t.body.stream:null}get bodyUsed(){return w.brandCheck(this,e),!!this.#t.body&&m.isDisturbed(this.#t.body.stream)}clone(){if(w.brandCheck(this,e),p(this.#t))throw w.errors.exception({header:`Response.clone`,message:`Body has already been consumed.`});let t=I(this.#t);return this.#t.urlList.length!==0&&this.#t.body?.stream&&f.register(this,new WeakRef(this.#t.body.stream)),te(t,o(this.#e))}[h.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.colors??=!0;let n={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${h.formatWithOptions(t,n)}`}static getResponseHeaders(e){return e.#e}static setResponseHeaders(e,t){e.#e=t}static getResponseState(e){return e.#t}static setResponseState(e,t){e.#t=t}},{getResponseHeaders:M,setResponseHeaders:N,getResponseState:P,setResponseState:F}=j;Reflect.deleteProperty(j,`getResponseHeaders`),Reflect.deleteProperty(j,`setResponseHeaders`),Reflect.deleteProperty(j,`getResponseState`),Reflect.deleteProperty(j,`setResponseState`),d(j,P),Object.defineProperties(j.prototype,{type:g,url:g,status:g,ok:g,redirected:g,statusText:g,headers:g,clone:g,body:g,bodyUsed:g,[Symbol.toStringTag]:{value:`Response`,configurable:!0}}),Object.defineProperties(j,{json:g,redirect:g,error:g});function I(e){if(e.internalResponse)return V(I(e.internalResponse),e.type);let t=L({...e,body:null});return e.body!=null&&(t.body=u(e.body)),t}function L(e){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:`default`,status:200,timingInfo:null,cacheState:``,statusText:``,...e,headersList:e?.headersList?new i(e?.headersList):new i,urlList:e?.urlList?[...e.urlList]:[]}}function R(e){return L({type:`error`,status:0,error:b(e)?e:Error(e&&String(e)),aborted:e&&e.name===`AbortError`})}function z(e){return e.type===`error`&&e.status===0}function B(e,t){return t={internalResponse:e,...t},new Proxy(e,{get(e,n){return n in t?t[n]:e[n]},set(e,n,r){return D(!(n in t)),e[n]=r,!0}})}function V(e,t){if(t===`basic`)return B(e,{type:`basic`,headersList:e.headersList});if(t===`cors`)return B(e,{type:`cors`,headersList:e.headersList});if(t===`opaque`)return B(e,{type:`opaque`,urlList:[],status:0,statusText:``,body:null});if(t===`opaqueredirect`)return B(e,{type:`opaqueredirect`,status:0,statusText:``,headersList:[],body:null});D(!1)}function ee(e,t=null){return D(v(e)),y(e)?R(Object.assign(new DOMException(`The operation was aborted.`,`AbortError`),{cause:t})):R(Object.assign(new DOMException(`Request was cancelled.`),{cause:t}))}function H(e,t,n){if(t.status!==null&&(t.status<200||t.status>599))throw RangeError(`init["status"] must be in the range of 200 to 599, inclusive.`);if(`statusText`in t&&t.statusText!=null&&!_(String(t.statusText)))throw TypeError(`Invalid statusText`);if(`status`in t&&t.status!=null&&(P(e).status=t.status),`statusText`in t&&t.statusText!=null&&(P(e).statusText=t.statusText),`headers`in t&&t.headers!=null&&a(M(e),t.headers),n){if(C.includes(e.status))throw w.errors.exception({header:`Response constructor`,message:`Invalid response status code ${e.status}`});P(e).body=n.body,n.type!=null&&!P(e).headersList.contains(`content-type`,!0)&&P(e).headersList.append(`content-type`,n.type,!0)}}function te(e,t){let n=new j(E);F(n,e);let i=new r(E);return N(n,i),c(i,e.headersList),s(i,t),e.urlList.length!==0&&e.body?.stream&&f.register(n,new WeakRef(e.body.stream)),n}w.converters.XMLHttpRequestBodyInit=function(e,t,n){return typeof e==`string`?w.converters.USVString(e,t,n):w.is.Blob(e)||w.is.BufferSource(e)||w.is.FormData(e)||w.is.URLSearchParams(e)?e:w.converters.DOMString(e,t,n)},w.converters.BodyInit=function(e,t,n){return w.is.ReadableStream(e)||e?.[Symbol.asyncIterator]?e:w.converters.XMLHttpRequestBodyInit(e,t,n)},w.converters.ResponseInit=w.dictionaryConverter([{key:`status`,converter:w.converters[`unsigned short`],defaultValue:()=>200},{key:`statusText`,converter:w.converters.ByteString,defaultValue:()=>``},{key:`headers`,converter:w.converters.HeadersInit}]),w.is.Response=w.util.MakeTypeAssertion(j),n.exports={isNetworkError:z,makeNetworkError:R,makeResponse:L,makeAppropriateNetworkError:ee,filterResponse:V,Response:j,cloneResponse:I,fromInnerResponse:te,getResponseState:P}})),Pc=t(((t,n)=>{var{extractBody:r,mixinBody:i,cloneBody:a,bodyUnusable:o}=ks(),{Headers:s,fill:c,HeadersList:l,setHeadersGuard:u,getHeadersGuard:d,setHeadersList:f,getHeadersList:p}=Mc(),m=$(),h=e(`node:util`),{isValidHTTPToken:g,sameOrigin:_,environmentSettingsObject:v}=Ts(),{forbiddenMethodsSet:y,corsSafeListedMethodsSet:b,referrerPolicy:x,requestRedirect:S,requestMode:C,requestCredentials:w,requestCache:T,requestDuplex:E}=ys(),{kEnumerableProperty:D,normalizedMethodRecordsBase:O,normalizedMethodRecords:k}=m,{webidl:A}=ws(),{URLSerializer:j}=Cs(),{kConstruct:M}=Z(),N=e(`node:assert`),{getMaxListeners:P,setMaxListeners:F,defaultMaxListeners:I}=e(`node:events`),L=Symbol(`abortController`),R=new FinalizationRegistry(({signal:e,abort:t})=>{e.removeEventListener(`abort`,t)}),z=new WeakMap,B;try{B=P(new AbortController().signal)>0}catch{B=!1}function V(e){return t;function t(){let n=e.deref();if(n!==void 0){R.unregister(t),this.removeEventListener(`abort`,t),n.abort(this.reason);let e=z.get(n.signal);if(e!==void 0){if(e.size!==0){for(let t of e){let e=t.deref();e!==void 0&&e.abort(this.reason)}e.clear()}z.delete(n.signal)}}}}var ee=!1,H=class e{#e;#t;#n;#r;#i=null;constructor(e,t=void 0){if(A.util.markAsUncloneable(this),e===M)return;A.argumentLengthCheck(arguments,1,`Request constructor`),e=A.converters.RequestInfo(e),t=A.converters.RequestInit(t);let n=null,i=null,a=v.settingsObject.baseUrl,d=null;if(typeof e==`string`){this.#t=t.dispatcher;let r;try{r=new URL(e,a)}catch(t){throw TypeError(`Failed to parse URL from `+e,{cause:t})}if(r.username||r.password)throw TypeError(`Request cannot be constructed from a URL that includes credentials: `+e);n=ie({urlList:[r]}),i=`cors`}else N(A.is.Request(e)),n=e.#r,d=e.#e,this.#t=t.dispatcher||e.#t;let h=v.settingsObject.origin,x=`client`;if(n.window?.constructor?.name===`EnvironmentSettingsObject`&&_(n.window,h)&&(x=n.window),t.window!=null)throw TypeError(`'window' option '${x}' must be null`);`window`in t&&(x=`no-window`),n=ie({method:n.method,headersList:n.headersList,unsafeRequest:n.unsafeRequest,client:v.settingsObject,window:x,priority:n.priority,origin:n.origin,referrer:n.referrer,referrerPolicy:n.referrerPolicy,mode:n.mode,credentials:n.credentials,cache:n.cache,redirect:n.redirect,integrity:n.integrity,keepalive:n.keepalive,reloadNavigation:n.reloadNavigation,historyNavigation:n.historyNavigation,urlList:[...n.urlList]});let S=Object.keys(t).length!==0;if(S&&(n.mode===`navigate`&&(n.mode=`same-origin`),n.reloadNavigation=!1,n.historyNavigation=!1,n.origin=`client`,n.referrer=`client`,n.referrerPolicy=``,n.url=n.urlList[n.urlList.length-1],n.urlList=[n.url]),t.referrer!==void 0){let e=t.referrer;if(e===``)n.referrer=`no-referrer`;else{let t;try{t=new URL(e,a)}catch(t){throw TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}t.protocol===`about:`&&t.hostname===`client`||h&&!_(t,v.settingsObject.baseUrl)?n.referrer=`client`:n.referrer=t}}t.referrerPolicy!==void 0&&(n.referrerPolicy=t.referrerPolicy);let C;if(C=t.mode===void 0?i:t.mode,C===`navigate`)throw A.errors.exception({header:`Request constructor`,message:`invalid request mode navigate.`});if(C!=null&&(n.mode=C),t.credentials!==void 0&&(n.credentials=t.credentials),t.cache!==void 0&&(n.cache=t.cache),n.cache===`only-if-cached`&&n.mode!==`same-origin`)throw TypeError(`'only-if-cached' can be set only with 'same-origin' mode`);if(t.redirect!==void 0&&(n.redirect=t.redirect),t.integrity!=null&&(n.integrity=String(t.integrity)),t.keepalive!==void 0&&(n.keepalive=!!t.keepalive),t.method!==void 0){let e=t.method,r=k[e];if(r!==void 0)n.method=r;else{if(!g(e))throw TypeError(`'${e}' is not a valid HTTP method.`);let t=e.toUpperCase();if(y.has(t))throw TypeError(`'${e}' HTTP method is unsupported.`);e=O[t]??e,n.method=e}!ee&&n.method===`patch`&&(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:`UNDICI-FETCH-patch`}),ee=!0)}t.signal!==void 0&&(d=t.signal),this.#r=n;let w=new AbortController;if(this.#e=w.signal,d!=null){if(d.aborted)w.abort(d.reason);else{this[L]=w;let e=V(new WeakRef(w));B&&P(d)===I&&F(1500,d);let t=m.addAbortListener(d,e);R.register(w,{signal:d,abort:e},e),this.#i=()=>{R.unregister(e),t(),this.#i=null}}}if(this.#n=new s(M),f(this.#n,n.headersList),u(this.#n,`request`),C===`no-cors`){if(!b.has(n.method))throw TypeError(`'${n.method} is unsupported in no-cors mode.`);u(this.#n,`request-no-cors`)}if(S){let e=p(this.#n),n=t.headers===void 0?new l(e):t.headers;if(e.clear(),n instanceof l){for(let{name:t,value:r}of n.rawValues())e.append(t,r,!1);e.cookies=n.cookies}else c(this.#n,n)}let T=A.is.Request(e)?e.#r.body:null;if((t.body!=null||T!=null)&&(n.method===`GET`||n.method===`HEAD`))throw TypeError(`Request with GET/HEAD method cannot have body.`);let E=null;if(t.body!=null){let[e,i]=r(t.body,n.keepalive);E=e,i&&!p(this.#n).contains(`content-type`,!0)&&this.#n.append(`content-type`,i,!0)}let D=E??T;if(D!=null&&D.source==null){if(E!=null&&t.duplex==null)throw TypeError(`RequestInit: duplex option is required when sending a body.`);if(n.mode!==`same-origin`&&n.mode!==`cors`)throw TypeError(`If request is made from ReadableStream, mode should be "same-origin" or "cors"`);n.useCORSPreflightFlag=!0}let j=D;if(E==null&&T!=null){if(o(e.#r))throw TypeError(`Cannot construct a Request with a Request object that has already been used.`);let t=new TransformStream;T.stream.pipeThrough(t),j={source:T.source,length:T.length,stream:t.readable}}this.#r.body=j}get method(){return A.brandCheck(this,e),this.#r.method}get url(){return A.brandCheck(this,e),j(this.#r.url)}get headers(){return A.brandCheck(this,e),this.#n}get destination(){return A.brandCheck(this,e),this.#r.destination}get referrer(){return A.brandCheck(this,e),this.#r.referrer===`no-referrer`?``:this.#r.referrer===`client`?`about:client`:this.#r.referrer.toString()}get referrerPolicy(){return A.brandCheck(this,e),this.#r.referrerPolicy}get mode(){return A.brandCheck(this,e),this.#r.mode}get credentials(){return A.brandCheck(this,e),this.#r.credentials}get cache(){return A.brandCheck(this,e),this.#r.cache}get redirect(){return A.brandCheck(this,e),this.#r.redirect}get integrity(){return A.brandCheck(this,e),this.#r.integrity}get keepalive(){return A.brandCheck(this,e),this.#r.keepalive}get isReloadNavigation(){return A.brandCheck(this,e),this.#r.reloadNavigation}get isHistoryNavigation(){return A.brandCheck(this,e),this.#r.historyNavigation}get signal(){return A.brandCheck(this,e),this.#e}get body(){return A.brandCheck(this,e),this.#r.body?this.#r.body.stream:null}get bodyUsed(){return A.brandCheck(this,e),!!this.#r.body&&m.isDisturbed(this.#r.body.stream)}get duplex(){return A.brandCheck(this,e),`half`}clone(){if(A.brandCheck(this,e),o(this.#r))throw TypeError(`unusable`);let t=ae(this.#r),n=new AbortController;if(this.signal.aborted)n.abort(this.signal.reason);else{let e=z.get(this.signal);e===void 0&&(e=new Set,z.set(this.signal,e));let t=new WeakRef(n);e.add(t),m.addAbortListener(n.signal,V(t))}return oe(t,this.#t,n.signal,d(this.#n))}[h.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.colors??=!0;let n={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${h.formatWithOptions(t,n)}`}static setRequestSignal(e,t){return e.#e=t,e}static getRequestDispatcher(e){return e.#t}static setRequestDispatcher(e,t){e.#t=t}static setRequestHeaders(e,t){e.#n=t}static getRequestState(e){return e.#r}static setRequestState(e,t){e.#r=t}static removeRequestAbortListener(e){e.#i?.()}},{setRequestSignal:te,getRequestDispatcher:U,setRequestDispatcher:ne,setRequestHeaders:W,getRequestState:G,setRequestState:re,removeRequestAbortListener:K}=H;Reflect.deleteProperty(H,`setRequestSignal`),Reflect.deleteProperty(H,`getRequestDispatcher`),Reflect.deleteProperty(H,`setRequestDispatcher`),Reflect.deleteProperty(H,`setRequestHeaders`),Reflect.deleteProperty(H,`getRequestState`),Reflect.deleteProperty(H,`setRequestState`),Reflect.deleteProperty(H,`removeRequestAbortListener`),i(H,G);function ie(e){return{method:e.method??`GET`,localURLsOnly:e.localURLsOnly??!1,unsafeRequest:e.unsafeRequest??!1,body:e.body??null,client:e.client??null,reservedClient:e.reservedClient??null,replacesClientId:e.replacesClientId??``,window:e.window??`client`,keepalive:e.keepalive??!1,serviceWorkers:e.serviceWorkers??`all`,initiator:e.initiator??``,destination:e.destination??``,priority:e.priority??`auto`,origin:e.origin??`client`,policyContainer:e.policyContainer??`client`,referrer:e.referrer??`client`,referrerPolicy:e.referrerPolicy??``,mode:e.mode??`no-cors`,useCORSPreflightFlag:e.useCORSPreflightFlag??!1,credentials:e.credentials??`same-origin`,useCredentials:e.useCredentials??!1,cache:e.cache??`default`,redirect:e.redirect??`follow`,integrity:e.integrity??``,cryptoGraphicsNonceMetadata:e.cryptoGraphicsNonceMetadata??``,parserMetadata:e.parserMetadata??``,reloadNavigation:e.reloadNavigation??!1,historyNavigation:e.historyNavigation??!1,userActivation:e.userActivation??!1,taintedOrigin:e.taintedOrigin??!1,redirectCount:e.redirectCount??0,responseTainting:e.responseTainting??`basic`,preventNoCacheCacheControlHeaderModification:e.preventNoCacheCacheControlHeaderModification??!1,done:e.done??!1,timingAllowFailed:e.timingAllowFailed??!1,useURLCredentials:e.useURLCredentials??void 0,traversableForUserPrompts:e.traversableForUserPrompts??`client`,urlList:e.urlList,url:e.urlList[0],headersList:e.headersList?new l(e.headersList):new l}}function ae(e){let t=ie({...e,body:null});return e.body!=null&&(t.body=a(e.body)),t}function oe(e,t,n,r){let i=new H(M);re(i,e),ne(i,t),te(i,n);let a=new s(M);return W(i,a),f(a,e.headersList),u(a,r),i}Object.defineProperties(H.prototype,{method:D,url:D,headers:D,redirect:D,clone:D,signal:D,duplex:D,destination:D,body:D,bodyUsed:D,isHistoryNavigation:D,isReloadNavigation:D,keepalive:D,integrity:D,cache:D,credentials:D,attribute:D,referrerPolicy:D,referrer:D,mode:D,[Symbol.toStringTag]:{value:`Request`,configurable:!0}}),A.is.Request=A.util.MakeTypeAssertion(H),A.converters.RequestInfo=function(e){return typeof e==`string`?A.converters.USVString(e):A.is.Request(e)?e:A.converters.USVString(e)},A.converters.RequestInit=A.dictionaryConverter([{key:`method`,converter:A.converters.ByteString},{key:`headers`,converter:A.converters.HeadersInit},{key:`body`,converter:A.nullableConverter(A.converters.BodyInit)},{key:`referrer`,converter:A.converters.USVString},{key:`referrerPolicy`,converter:A.converters.DOMString,allowedValues:x},{key:`mode`,converter:A.converters.DOMString,allowedValues:C},{key:`credentials`,converter:A.converters.DOMString,allowedValues:w},{key:`cache`,converter:A.converters.DOMString,allowedValues:T},{key:`redirect`,converter:A.converters.DOMString,allowedValues:S},{key:`integrity`,converter:A.converters.DOMString},{key:`keepalive`,converter:A.converters.boolean},{key:`signal`,converter:A.nullableConverter(e=>A.converters.AbortSignal(e,`RequestInit`,`signal`))},{key:`window`,converter:A.converters.any},{key:`duplex`,converter:A.converters.DOMString,allowedValues:E},{key:`dispatcher`,converter:A.converters.any},{key:`priority`,converter:A.converters.DOMString,allowedValues:[`high`,`low`,`auto`]}]),n.exports={Request:H,makeRequest:ie,fromInnerRequest:oe,cloneRequest:ae,getRequestDispatcher:U,getRequestState:G,removeRequestAbortListener:K}})),Fc=t(((t,n)=>{var r=e(`node:assert`),{runtimeFeatures:i}=Es(),a=new Map([[`sha256`,0],[`sha384`,1],[`sha512`,2]]),o;if(i.has(`crypto`)){o=e(`node:crypto`);let t=o.getHashes();t.length===0&&a.clear();for(let e of a.keys())t.includes(e)===!1&&a.delete(e)}else a.clear();var s=Map.prototype.get.bind(a),c=Map.prototype.has.bind(a),l=i.has(`crypto`)===!1||a.size===0?()=>!0:(e,t)=>{let n=d(t);if(n.length===0)return!0;let r=u(n);for(let t of r){let n=t.alg,r=t.val;if(p(f(n,e),r))return!0}return!1};function u(e){let t=[],n=null;for(let i of e){if(r(c(i.alg),`Invalid SRI hash algorithm token`),t.length===0){t.push(i),n=i;continue}let e=n.alg,a=s(e),o=i.alg,l=s(o);l<a||(l>a?(n=i,t[0]=i,t.length=1):t.push(i))}return t}function d(e){let t=[];for(let n of e.split(` `)){let e=n.split(`?`,1)[0],r=``,i=[e.slice(0,6),e.slice(7)],a=i[0];if(!c(a))continue;i[1]&&(r=i[1]);let o={alg:a,val:r};t.push(o)}return t}var f=(e,t)=>o.hash(e,t,`base64`);function p(e,t){let n=e.length;n!==0&&e[n-1]===`=`&&--n,n!==0&&e[n-1]===`=`&&--n;let r=t.length;if(r!==0&&t[r-1]===`=`&&--r,r!==0&&t[r-1]===`=`&&--r,n!==r)return!1;for(let r=0;r<n;++r)if(!(e[r]===t[r]||e[r]===`+`&&t[r]===`-`||e[r]===`/`&&t[r]===`_`))return!1;return!0}n.exports={applyAlgorithmToBytes:f,bytesMatch:l,caseSensitiveMatch:p,isValidSRIHashAlgorithm:c,getStrongestMetadata:u,parseMetadata:d}})),Ic=t(((t,n)=>{var{makeNetworkError:r,makeAppropriateNetworkError:i,filterResponse:a,makeResponse:o,fromInnerResponse:s,getResponseState:c}=Nc(),{HeadersList:l}=Mc(),{Request:u,cloneRequest:d,getRequestDispatcher:f,getRequestState:p,removeRequestAbortListener:m}=Pc(),h=e(`node:zlib`),{makePolicyContainer:g,clonePolicyContainer:_,requestBadPort:v,TAOCheck:y,appendRequestOriginHeader:b,responseLocationURL:x,requestCurrentURL:S,setRequestReferrerPolicyOnRedirect:C,tryUpgradeRequestToAPotentiallyTrustworthyURL:w,createOpaqueTimingInfo:T,appendFetchMetadata:E,corsCheck:D,crossOriginResourcePolicyCheck:O,determineRequestsReferrer:k,coarsenedSharedCurrentTime:A,sameOrigin:j,isCancelled:M,isAborted:N,isErrorLike:P,fullyReadBody:F,readableStreamClose:I,urlIsLocal:L,urlIsHttpHttpsScheme:R,urlHasHttpsScheme:z,clampAndCoarsenConnectionTimingInfo:B,simpleRangeHeaderValue:V,buildContentRange:ee,createInflate:H,extractMimeType:te,hasAuthenticationEntry:U,includesCredentials:ne,isTraversableNavigable:W}=Ts(),G=e(`node:assert`),{safelyExtractBody:re,extractBody:K}=ks(),{redirectStatusSet:ie,nullBodyStatus:ae,safeMethodsSet:oe,requestBodyHeader:se,subresourceSet:ce}=ys(),le=e(`node:events`),{Readable:ue,pipeline:de,finished:fe,isErrored:pe,isReadable:q}=e(`node:stream`),{addAbortListener:me,bufferToLowerCasedHeaderName:he}=$(),{SocketError:J}=Q(),{dataURLProcessor:ge,serializeAMimeType:_e,minimizeSupportedMimeType:ve}=Cs(),{getGlobalDispatcher:ye}=mc(),{webidl:be}=ws(),{STATUS_CODES:xe}=e(`node:http`),{bytesMatch:Se}=Fc(),{isomorphicEncode:Ce}=Ss(),we=[`GET`,`HEAD`],Te=typeof __UNDICI_IS_NODE__<`u`||typeof esbuildDetection<`u`?`node`:`undici`,Ee;function De(e,t,n){if(Array.isArray(n)){for(let t=0;t<n.length;t+=2){let r=he(n[t]),i=n[t+1];if(Array.isArray(i)&&!Buffer.isBuffer(i))for(let t of i)e.append(r,t.toString(`latin1`),!0);else e.append(r,i.toString(`latin1`),!0)}return}for(let[n,r]of Object.entries(t??{}))if(Array.isArray(r))for(let t of r)e.append(n,`${t}`,!0);else e.append(n,`${r}`,!0)}var Oe=class extends le{constructor(e){super(),this.dispatcher=e,this.connection=null,this.dump=!1,this.state=`ongoing`}terminate(e){this.state===`ongoing`&&(this.state=`terminated`,this.connection?.destroy(e),this.emit(`terminated`,e))}abort(e){this.state===`ongoing`&&(this.state=`aborted`,e||=new DOMException(`The operation was aborted.`,`AbortError`),this.serializedAbortReason=e,this.connection?.destroy(e),this.emit(`terminated`,e))}};function ke(e){je(e,`fetch`)}function Ae(e,t=void 0){be.argumentLengthCheck(arguments,1,`globalThis.fetch`);let n=Promise.withResolvers(),r;try{r=new u(e,t)}catch(e){return n.reject(e),n.promise}let i=p(r);if(r.signal.aborted)return Ne(n,i,null,r.signal.reason,null),n.promise;i.client.globalObject?.constructor?.name===`ServiceWorkerGlobalScope`&&(i.serviceWorkers=`none`);let a=null,o=!1,c=null,l=me(r.signal,()=>{o=!0,G(c!=null),c.abort(r.signal.reason);let e=a?.deref();Ne(n,i,e,r.signal.reason,c.controller)}),d=()=>{l(),m(r)};return c=Pe({request:i,processResponseEndOfBody:e=>{ke(e),d()},processResponse:e=>{if(!o){if(e.aborted){Ne(n,i,a,c.serializedAbortReason,c.controller),d();return}if(e.type===`error`){n.reject(TypeError(`fetch failed`,{cause:e.error})),d();return}a=new WeakRef(s(e,`immutable`)),n.resolve(a.deref()),n=null}},dispatcher:f(r),requestObject:r}),n.promise}function je(e,t=`other`){if(e.type===`error`&&e.aborted||!e.urlList?.length)return;let n=e.urlList[0],r=e.timingInfo,i=e.cacheState;R(n)&&r!==null&&(e.timingAllowPassed||(r=T({startTime:r.startTime}),i=``),r.endTime=A(),e.timingInfo=r,Me(r,n.href,t,globalThis,i,``,e.status))}var Me=performance.markResourceTiming;function Ne(e,t,n,r,i){if(e&&e.reject(r),t.body?.stream!=null&&q(t.body.stream)&&t.body.stream.cancel(r).catch(e=>{if(e.code!==`ERR_INVALID_STATE`)throw e}),n==null)return;let a=c(n);a.body?.stream!=null&&q(a.body.stream)&&i.error(r)}function Pe({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:n,processResponse:r,processResponseEndOfBody:i,processResponseConsumeBody:a,useParallelQueue:o=!1,dispatcher:s=ye(),requestObject:c=null}){G(s);let l=null,u=!1;e.client!=null&&(l=e.client.globalObject,u=e.client.crossOriginIsolatedCapability);let d=T({startTime:A(u)}),f={controller:new Oe(s),request:e,timingInfo:d,processRequestBodyChunkLength:t,processRequestEndOfBody:n,processResponse:r,processResponseConsumeBody:a,processResponseEndOfBody:i,taskDestination:l,crossOriginIsolatedCapability:u,requestObject:c};return G(!e.body||e.body.stream),e.window===`client`&&(e.window=e.client?.globalObject?.constructor?.name===`Window`?e.client:`no-window`),e.origin===`client`&&(e.origin=e.client.origin),e.policyContainer===`client`&&(e.policyContainer=e.client==null?g():_(e.client.policyContainer)),e.headersList.contains(`accept`,!0)||e.headersList.append(`accept`,`*/*`,!0),e.headersList.contains(`accept-language`,!0)||e.headersList.append(`accept-language`,`*`,!0),e.priority,ce.has(e.destination),Fe(f,!1),f.controller}async function Fe(e,t){try{let n=e.request,i=null;if(n.localURLsOnly&&!L(S(n))&&(i=r(`local URLs only`)),w(n),v(n)===`blocked`&&(i=r(`bad port`)),n.referrerPolicy===``&&(n.referrerPolicy=n.policyContainer.referrerPolicy),n.referrer!==`no-referrer`&&(n.referrer=k(n)),i===null){let t=S(n);j(t,n.url)&&n.responseTainting===`basic`||t.protocol===`data:`||n.mode===`navigate`||n.mode===`websocket`?(n.responseTainting=`basic`,i=await Ie(e)):n.mode===`same-origin`?i=r(`request mode cannot be "same-origin"`):n.mode===`no-cors`?n.redirect===`follow`?(n.responseTainting=`opaque`,i=await Ie(e)):i=r(`redirect mode cannot be "follow" for "no-cors" request`):R(S(n))?(n.responseTainting=`cors`,i=await ze(e)):i=r(`URL scheme must be a HTTP(S) scheme`)}if(t)return i;i.status!==0&&!i.internalResponse&&(n.responseTainting,n.responseTainting===`basic`?i=a(i,`basic`):n.responseTainting===`cors`?i=a(i,`cors`):n.responseTainting===`opaque`?i=a(i,`opaque`):G(!1));let o=i.status===0?i:i.internalResponse;if(o.urlList.length===0&&o.urlList.push(...n.urlList),n.timingAllowFailed||(i.timingAllowPassed=!0),i.type===`opaque`&&o.status===206&&o.rangeRequested&&!n.headers.contains(`range`,!0)&&(i=o=r()),i.status!==0&&(n.method===`HEAD`||n.method===`CONNECT`||ae.includes(o.status))&&(o.body=null,e.controller.dump=!0),n.integrity){let t=t=>Re(e,r(t));if(n.responseTainting===`opaque`||i.body==null){t(i.error);return}F(i.body,r=>{if(!Se(r,n.integrity)){t(`integrity mismatch`);return}i.body=re(r)[0],Re(e,i)},t)}else Re(e,i)}catch(t){e.controller.terminate(t)}}function Ie(t){if(M(t)&&t.request.redirectCount===0)return Promise.resolve(i(t));let{request:n}=t,{protocol:a}=S(n);switch(a){case`about:`:return Promise.resolve(r(`about scheme is not supported`));case`blob:`:{Ee||=e(`node:buffer`).resolveObjectURL;let t=S(n);if(t.search.length!==0)return Promise.resolve(r(`NetworkError when attempting to fetch resource.`));let i=Ee(t.toString());if(n.method!==`GET`||!be.is.Blob(i))return Promise.resolve(r(`invalid method`));let a=o(),s=i.size,c=Ce(`${s}`),l=i.type;if(n.headersList.contains(`range`,!0)){a.rangeRequested=!0;let e=V(n.headersList.get(`range`,!0),!0);if(e===`failure`)return Promise.resolve(r(`failed to fetch the data URL`));let{rangeStartValue:t,rangeEndValue:o}=e;if(t===null)t=s-o,o=t+o-1;else{if(t>=s)return Promise.resolve(r(`Range start is greater than the blob's size.`));(o===null||o>=s)&&(o=s-1)}let c=i.slice(t,o+1,l);a.body=K(c)[0];let u=Ce(`${c.size}`),d=ee(t,o,s);a.status=206,a.statusText=`Partial Content`,a.headersList.set(`content-length`,u,!0),a.headersList.set(`content-type`,l,!0),a.headersList.set(`content-range`,d,!0)}else{let e=K(i);a.statusText=`OK`,a.body=e[0],a.headersList.set(`content-length`,c,!0),a.headersList.set(`content-type`,l,!0)}return Promise.resolve(a)}case`data:`:{let e=ge(S(n));if(e===`failure`)return Promise.resolve(r(`failed to fetch the data URL`));let t=_e(e.mimeType);return Promise.resolve(o({statusText:`OK`,headersList:[[`content-type`,{name:`Content-Type`,value:t}]],body:re(e.body)[0]}))}case`file:`:return Promise.resolve(r(`not implemented... yet...`));case`http:`:case`https:`:return ze(t).catch(e=>r(e));default:return Promise.resolve(r(`unknown scheme`))}}function Le(e,t){e.request.done=!0,e.processResponseDone!=null&&queueMicrotask(()=>e.processResponseDone(t))}function Re(e,t){let n=e.timingInfo,r=()=>{let r=Date.now();e.request.destination===`document`&&(e.controller.fullTimingInfo=n),e.controller.reportTimingSteps=()=>{if(!R(e.request.url))return;n.endTime=r;let i=t.cacheState,a=t.bodyInfo;t.timingAllowPassed||(n=T(n),i=``);let o=0;if(e.request.mode!==`navigate`||!t.hasCrossOriginRedirects){o=t.status;let e=te(t.headersList);e!==`failure`&&(a.contentType=ve(e))}e.request.initiatorType!=null&&Me(n,e.request.url.href,e.request.initiatorType,globalThis,i,a,o)};let i=()=>{e.request.done=!0,e.processResponseEndOfBody!=null&&queueMicrotask(()=>e.processResponseEndOfBody(t)),e.request.initiatorType!=null&&e.controller.reportTimingSteps()};queueMicrotask(()=>i())};e.processResponse!=null&&queueMicrotask(()=>{e.processResponse(t),e.processResponse=null});let i=t.type===`error`?t:t.internalResponse??t;i.body==null?r():fe(i.body.stream,()=>{r()})}async function ze(e){let t=e.request,n=null,i=null,a=e.timingInfo;if(t.serviceWorkers,n===null){if(t.redirect===`follow`&&(t.serviceWorkers=`none`),i=n=await Ve(e),t.responseTainting===`cors`&&D(t,n)===`failure`)return r(`cors failure`);y(t,n)===`failure`&&(t.timingAllowFailed=!0)}return(t.responseTainting===`opaque`||n.type===`opaque`)&&O(t.origin,t.client,t.destination,i)===`blocked`?r(`blocked`):(ie.has(i.status)&&(t.redirect!==`manual`&&e.controller.connection.destroy(void 0,!1),t.redirect===`error`?n=r(`unexpected redirect`):t.redirect===`manual`?n=i:t.redirect===`follow`?n=await Be(e,n):G(!1)),n.timingInfo=a,n)}function Be(e,t){let n=e.request,i=t.internalResponse?t.internalResponse:t,a;try{if(a=x(i,S(n).hash),a==null)return t}catch(e){return Promise.resolve(r(e))}if(!R(a))return Promise.resolve(r(`URL scheme must be a HTTP(S) scheme`));if(n.redirectCount===20)return Promise.resolve(r(`redirect count exceeded`));if(n.redirectCount+=1,n.mode===`cors`&&(a.username||a.password)&&!j(n,a))return Promise.resolve(r(`cross origin not allowed for request mode "cors"`));if(n.responseTainting===`cors`&&(a.username||a.password))return Promise.resolve(r(`URL cannot contain credentials for request mode "cors"`));if(i.status!==303&&n.body!=null&&n.body.source==null)return Promise.resolve(r());if([301,302].includes(i.status)&&n.method===`POST`||i.status===303&&!we.includes(n.method)){n.method=`GET`,n.body=null;for(let e of se)n.headersList.delete(e)}j(S(n),a)||(n.headersList.delete(`authorization`,!0),n.headersList.delete(`proxy-authorization`,!0),n.headersList.delete(`cookie`,!0),n.headersList.delete(`host`,!0)),n.body!=null&&(G(n.body.source!=null),n.body=re(n.body.source)[0]);let o=e.timingInfo;return o.redirectEndTime=o.postRedirectStartTime=A(e.crossOriginIsolatedCapability),o.redirectStartTime===0&&(o.redirectStartTime=o.startTime),n.urlList.push(a),C(n,i),Fe(e,!0)}async function Ve(e,t=!1,n=!1){let a=e.request,o=null,s=null,c=null;a.window===`no-window`&&a.redirect===`error`?(o=e,s=a):(a.body?.source==null?(s=d({...a,body:null}),s.body=a.body):s=d(a),o={...e},o.request=s);let l=a.credentials===`include`||a.credentials===`same-origin`&&a.responseTainting===`basic`,u=s.body?s.body.length:null,f=null;if(s.body==null&&[`POST`,`PUT`].includes(s.method)&&(f=`0`),u!=null&&(f=Ce(`${u}`)),f!=null&&!s.headersList.contains(`content-length`,!0)&&s.headersList.append(`content-length`,f,!0),u!=null&&s.keepalive,be.is.URL(s.referrer)&&s.headersList.append(`referer`,Ce(s.referrer.href),!0),b(s),E(s),s.headersList.contains(`user-agent`,!0)||s.headersList.append(`user-agent`,Te,!0),s.cache==="default"&&(s.headersList.contains(`if-modified-since`,!0)||s.headersList.contains(`if-none-match`,!0)||s.headersList.contains(`if-unmodified-since`,!0)||s.headersList.contains(`if-match`,!0)||s.headersList.contains(`if-range`,!0))&&(s.cache=`no-store`),s.cache===`no-cache`&&!s.preventNoCacheCacheControlHeaderModification&&!s.headersList.contains(`cache-control`,!0)&&s.headersList.append(`cache-control`,`max-age=0`,!0),(s.cache===`no-store`||s.cache===`reload`)&&(s.headersList.contains(`pragma`,!0)||s.headersList.append(`pragma`,`no-cache`,!0),s.headersList.contains(`cache-control`,!0)||s.headersList.append(`cache-control`,`no-cache`,!0)),s.headersList.contains(`range`,!0)&&s.headersList.append(`accept-encoding`,`identity`,!0),s.headersList.contains(`accept-encoding`,!0)||(z(S(s))?s.headersList.append(`accept-encoding`,`br, gzip, deflate, zstd`,!0):s.headersList.append(`accept-encoding`,`gzip, deflate`,!0)),s.headersList.delete(`host`,!0),l&&!s.headersList.contains(`authorization`,!0)){let e=null;if((!U(s)||s.useURLCredentials!==void 0&&ne(S(s)))&&ne(S(s))&&t){let{username:t,password:n}=S(s);e=`Basic ${Buffer.from(`${t}:${n}`).toString(`base64`)}`}e!==null&&s.headersList.append(`Authorization`,e,!1)}if(s.cache=`no-store`,s.cache!==`no-store`&&s.cache,c==null){if(s.cache===`only-if-cached`)return r(`only if cached`);let e=await He(o,l,n);!oe.has(s.method)&&e.status>=200&&e.status,c??=e}if(c.urlList=[...s.urlList],s.headersList.contains(`range`,!0)&&(c.rangeRequested=!0),c.requestIncludesCredentials=l,c.status===401&&s.responseTainting!==`cors`&&l&&(a.useURLCredentials!==void 0||W(a.traversableForUserPrompts))){if(a.body!=null){if(a.body.source==null)return c;a.body=re(a.body.source)[0]}if(a.useURLCredentials===void 0||t)return M(e)?i(e):c;e.controller.connection.destroy(),c=await Ve(e,!0)}if(c.status===407)return a.window===`no-window`?r():M(e)?i(e):r(`proxy authentication required`);if(c.status===421&&!n&&(a.body==null||a.body.source!=null)){if(M(e))return i(e);e.controller.connection.destroy(),c=await Ve(e,t,!0)}return c}async function He(e,t=!1,n=!1){G(!e.controller.connection||e.controller.connection.destroyed),e.controller.connection={abort:null,destroyed:!1,destroy(e,t=!0){this.destroyed||(this.destroyed=!0,t&&this.abort?.(e??new DOMException(`The operation was aborted.`,`AbortError`)))}};let a=e.request,s=null,c=e.timingInfo;a.cache=`no-store`,a.mode;let u=null;if(a.body==null&&e.processRequestEndOfBody)queueMicrotask(()=>e.processRequestEndOfBody());else if(a.body!=null){let t=async function*(t){M(e)||(yield t,e.processRequestBodyChunkLength?.(t.byteLength))},n=()=>{M(e)||e.processRequestEndOfBody&&e.processRequestEndOfBody()},r=t=>{M(e)||(t.name===`AbortError`?e.controller.abort():e.controller.terminate(t))};u=(async function*(){try{for await(let e of a.body.stream)yield*t(e);n()}catch(e){r(e)}})()}try{let{body:t,status:n,statusText:r,headersList:i,socket:a}=await p({body:u});if(a)s=o({status:n,statusText:r,headersList:i,socket:a});else{let a=t[Symbol.asyncIterator]();e.controller.next=()=>a.next(),s=o({status:n,statusText:r,headersList:i})}}catch(t){return t.name===`AbortError`?(e.controller.connection.destroy(),i(e,t)):r(t)}let d=new ReadableStream({start(t){e.controller.controller=t},pull:()=>e.controller.resume(),cancel:t=>{M(e)||e.controller.abort(t)},type:`bytes`});s.body={stream:d,source:null,length:null},e.controller.resume||e.controller.on(`terminated`,f),e.controller.resume=async()=>{for(;;){let t,n;try{let{done:n,value:r}=await e.controller.next();if(N(e))break;t=n?void 0:r}catch(r){e.controller.ended&&!c.encodedBodySize?t=void 0:(t=r,n=!0)}if(t===void 0){I(e.controller.controller),Le(e,s);return}if(c.decodedBodySize+=t?.byteLength??0,n){e.controller.terminate(t);return}let r=new Uint8Array(t);if(r.byteLength&&e.controller.controller.enqueue(r),pe(d)){e.controller.terminate();return}if(e.controller.controller.desiredSize<=0)return}};function f(t){N(e)?(s.aborted=!0,q(d)&&e.controller.controller.error(e.controller.serializedAbortReason)):q(d)&&e.controller.controller.error(TypeError(`terminated`,{cause:P(t)?t:void 0})),e.controller.connection.destroy()}return s;function p({body:t}){let n=S(a),r=e.controller.dispatcher,i=n.pathname+n.search,o=n.search.length===0&&n.href[n.href.length-n.hash.length-1]===`?`;return s(t);function s(t,u){return new Promise((d,f)=>r.dispatch({path:o?`${i}?`:i,origin:n.origin,method:a.method,body:r.isMockActive?a.body&&(a.body.source||a.body.stream):t,__mockAgentBodyForDispatch:t,headers:a.headersList.entries,maxRedirections:0,upgrade:a.mode===`websocket`?`websocket`:void 0,...u===!1?{allowH2:u}:null},{body:null,abort:null,onRequestStart(t){let{connection:n}=e.controller;c.finalConnectionTimingInfo=B(void 0,c.postRedirectStartTime,e.crossOriginIsolatedCapability);let r=e=>t.abort(e);n.destroyed?r(new DOMException(`The operation was aborted.`,`AbortError`)):(e.controller.on(`terminated`,r),this.abort=n.abort=r),c.finalNetworkRequestStartTime=A(e.crossOriginIsolatedCapability)},onResponseStarted(){c.finalNetworkResponseStartTime=A(e.crossOriginIsolatedCapability)},onResponseStart(e,t,n,r){if(t<200)return;let i=e?.rawHeaders??[],o=new l;De(o,n,i);let s=o.get(`location`,!0);this.body=new ue({read:()=>e.resume()});let c=s&&a.redirect===`follow`&&ie.has(t),u=[];if(a.method!==`HEAD`&&a.method!==`CONNECT`&&!ae.includes(t)&&!c){let e=o.get(`content-encoding`,!0),t=e?e.toLowerCase().split(`,`):[];if(t.length>5){f(Error(`too many content-encodings in response: ${t.length}, maximum allowed is 5`));return}for(let e=t.length-1;e>=0;--e){let n=t[e].trim();if(n===`x-gzip`||n===`gzip`)u.push(h.createGunzip({flush:h.constants.Z_SYNC_FLUSH,finishFlush:h.constants.Z_SYNC_FLUSH}));else if(n===`deflate`)u.push(H({flush:h.constants.Z_SYNC_FLUSH,finishFlush:h.constants.Z_SYNC_FLUSH}));else if(n===`br`)u.push(h.createBrotliDecompress({flush:h.constants.BROTLI_OPERATION_FLUSH,finishFlush:h.constants.BROTLI_OPERATION_FLUSH}));else if(n===`zstd`)u.push(h.createZstdDecompress({flush:h.constants.ZSTD_e_continue,finishFlush:h.constants.ZSTD_e_end}));else{u.length=0;break}}}let p=t=>this.onResponseError(e,t);d({status:t,statusText:r,headersList:o,body:u.length?de(this.body,...u,t=>{t&&this.onResponseError(e,t)}).on(`error`,p):this.body.on(`error`,p)})},onResponseData(t,n){if(e.controller.dump)return;let r=n;c.encodedBodySize+=r.byteLength,this.body.push(r)===!1&&t.pause()},onResponseEnd(){this.abort&&e.controller.off(`terminated`,this.abort),e.controller.ended=!0,this.body?.push(null)},onResponseError(n,r){if(this.abort&&e.controller.off(`terminated`,this.abort),a.mode===`websocket`&&u!==!1&&r?.code===`UND_ERR_INFO`&&r?.message===`HTTP/2: Extended CONNECT protocol not supported by server`){d(s(t,!1));return}this.body?.destroy(r),e.controller.terminate(r),f(r)},onRequestUpgrade(e,t,n,r){if(r.session!=null&&t!==200||r.session==null&&t!==101)return r.session!=null&&e.abort(new J(`bad upgrade`,null)),!1;let i=e?.rawHeaders??[],a=new l;return De(a,n,i),d({status:t,statusText:xe[t],headersList:a,socket:r}),!0}}))}}}n.exports={fetch:Ae,Fetch:Oe,fetching:Pe,finalizeAndReportTiming:je}})),Lc=t(((t,n)=>{var r=e(`node:assert`),{URLSerializer:i}=Cs(),{isValidHeaderName:a}=Ts();function o(e,t,n=!1){return i(e,n)===i(t,n)}function s(e){r(e!==null);let t=[];for(let n of e.split(`,`))n=n.trim(),a(n)&&t.push(n);return t}n.exports={urlEquals:o,getFieldValues:s}})),Rc=t(((t,n)=>{var r=e(`node:assert`),{kConstruct:i}=Z(),{urlEquals:a,getFieldValues:o}=Lc(),{kEnumerableProperty:s,isDisturbed:c}=$(),{webidl:l}=ws(),{cloneResponse:u,fromInnerResponse:d,getResponseState:f}=Nc(),{Request:p,fromInnerRequest:m,getRequestState:h}=Pc(),{fetching:g}=Ic(),{urlIsHttpHttpsScheme:_,readAllBytes:v}=Ts(),y=class e{#e;constructor(){arguments[0]!==i&&l.illegalConstructor(),l.util.markAsUncloneable(this),this.#e=arguments[1]}async match(t,n={}){l.brandCheck(this,e);let r=`Cache.match`;l.argumentLengthCheck(arguments,1,r),t=l.converters.RequestInfo(t),n=l.converters.CacheQueryOptions(n,r,`options`);let i=this.#i(t,n,1);if(i.length!==0)return i[0]}async matchAll(t=void 0,n={}){return l.brandCheck(this,e),t!==void 0&&(t=l.converters.RequestInfo(t)),n=l.converters.CacheQueryOptions(n,`Cache.matchAll`,`options`),this.#i(t,n)}async add(t){l.brandCheck(this,e),l.argumentLengthCheck(arguments,1,`Cache.add`),t=l.converters.RequestInfo(t);let n=[t];return await this.addAll(n)}async addAll(t){l.brandCheck(this,e);let n=`Cache.addAll`;l.argumentLengthCheck(arguments,1,n);let r=[],i=[];for(let e of t){if(e===void 0)throw l.errors.conversionFailed({prefix:n,argument:`Argument 1`,types:[`undefined is not allowed`]});if(e=l.converters.RequestInfo(e),typeof e==`string`)continue;let t=h(e);if(!_(t.url)||t.method!==`GET`)throw l.errors.exception({header:n,message:`Expected http/s scheme when method is not GET.`})}let a=[];for(let e of t){let t=h(new p(e));if(!_(t.url))throw l.errors.exception({header:n,message:`Expected http/s scheme.`});t.initiator=`fetch`,t.destination=`subresource`,i.push(t);let s=Promise.withResolvers();a.push(g({request:t,processResponse(e){if(e.type===`error`||e.status===206||e.status<200||e.status>299)s.reject(l.errors.exception({header:`Cache.addAll`,message:`Received an invalid status code or the request failed.`}));else if(e.headersList.contains(`vary`)){let t=o(e.headersList.get(`vary`));for(let e of t)if(e===`*`){s.reject(l.errors.exception({header:`Cache.addAll`,message:`invalid vary field value`}));for(let e of a)e.abort();return}}},processResponseEndOfBody(e){if(e.aborted){s.reject(new DOMException(`aborted`,`AbortError`));return}s.resolve(e)}})),r.push(s.promise)}let s=await Promise.all(r),c=[],u=0;for(let e of s){let t={type:`put`,request:i[u],response:e};c.push(t),u++}let d=Promise.withResolvers(),f=null;try{this.#t(c)}catch(e){f=e}return queueMicrotask(()=>{f===null?d.resolve(void 0):d.reject(f)}),d.promise}async put(t,n){l.brandCheck(this,e);let r=`Cache.put`;l.argumentLengthCheck(arguments,2,r),t=l.converters.RequestInfo(t),n=l.converters.Response(n,r,`response`);let i=null;if(i=l.is.Request(t)?h(t):h(new p(t)),!_(i.url)||i.method!==`GET`)throw l.errors.exception({header:r,message:`Expected an http/s scheme when method is not GET`});let a=f(n);if(a.status===206)throw l.errors.exception({header:r,message:`Got 206 status`});if(a.headersList.contains(`vary`)){let e=o(a.headersList.get(`vary`));for(let t of e)if(t===`*`)throw l.errors.exception({header:r,message:`Got * vary field value`})}if(a.body&&(c(a.body.stream)||a.body.stream.locked))throw l.errors.exception({header:r,message:`Response body is locked or disturbed`});let s=u(a),d=Promise.withResolvers();a.body==null?d.resolve(void 0):v(a.body.stream.getReader(),d.resolve,d.reject);let m=[],g={type:`put`,request:i,response:s};m.push(g);let y=await d.promise;s.body!=null&&(s.body.source=y);let b=Promise.withResolvers(),x=null;try{this.#t(m)}catch(e){x=e}return queueMicrotask(()=>{x===null?b.resolve():b.reject(x)}),b.promise}async delete(t,n={}){l.brandCheck(this,e);let i=`Cache.delete`;l.argumentLengthCheck(arguments,1,i),t=l.converters.RequestInfo(t),n=l.converters.CacheQueryOptions(n,i,`options`);let a=null;if(l.is.Request(t)){if(a=h(t),a.method!==`GET`&&!n.ignoreMethod)return!1}else r(typeof t==`string`),a=h(new p(t));let o=[],s={type:`delete`,request:a,options:n};o.push(s);let c=Promise.withResolvers(),u=null,d;try{d=this.#t(o)}catch(e){u=e}return queueMicrotask(()=>{u===null?c.resolve(!!d?.length):c.reject(u)}),c.promise}async keys(t=void 0,n={}){l.brandCheck(this,e),t!==void 0&&(t=l.converters.RequestInfo(t)),n=l.converters.CacheQueryOptions(n,`Cache.keys`,`options`);let r=null;if(t!==void 0){if(l.is.Request(t)){if(r=h(t),r.method!==`GET`&&!n.ignoreMethod)return[]}else typeof t==`string`&&(r=h(new p(t)))}let i=Promise.withResolvers(),a=[];if(t===void 0)for(let e of this.#e)a.push(e[0]);else{let e=this.#n(r,n);for(let t of e)a.push(t[0])}return queueMicrotask(()=>{let e=[];for(let t of a){let n=m(t,void 0,new AbortController().signal,`immutable`);e.push(n)}i.resolve(Object.freeze(e))}),i.promise}#t(e){let t=this.#e,n=[...t],i=[],a=[];try{for(let n of e){if(n.type!==`delete`&&n.type!==`put`)throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`operation type does not match "delete" or "put"`});if(n.type===`delete`&&n.response!=null)throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`delete operation should not have an associated response`});if(this.#n(n.request,n.options,i).length)throw new DOMException(`???`,`InvalidStateError`);let e;if(n.type===`delete`){if(e=this.#n(n.request,n.options),e.length===0)return[];for(let n of e){let e=t.indexOf(n);r(e!==-1),t.splice(e,1)}}else if(n.type===`put`){if(n.response==null)throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`put operation should have an associated response`});let a=n.request;if(!_(a.url))throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`expected http or https scheme`});if(a.method!==`GET`)throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`not get method`});if(n.options!=null)throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`options must not be defined`});e=this.#n(n.request);for(let n of e){let e=t.indexOf(n);r(e!==-1),t.splice(e,1)}t.push([n.request,n.response]),i.push([n.request,n.response])}a.push([n.request,n.response])}return a}catch(e){throw this.#e.length=0,this.#e=n,e}}#n(e,t,n){let r=[],i=n??this.#e;for(let n of i){let[i,a]=n;this.#r(e,i,a,t)&&r.push(n)}return r}#r(e,t,n=null,r){let i=new URL(e.url),s=new URL(t.url);if(r?.ignoreSearch&&(s.search=``,i.search=``),!a(i,s,!0))return!1;if(n==null||r?.ignoreVary||!n.headersList.contains(`vary`))return!0;let c=o(n.headersList.get(`vary`));for(let n of c)if(n===`*`||t.headersList.get(n)!==e.headersList.get(n))return!1;return!0}#i(e,t,n=1/0){let r=null;if(e!==void 0){if(l.is.Request(e)){if(r=h(e),r.method!==`GET`&&!t.ignoreMethod)return[]}else typeof e==`string`&&(r=h(new p(e)))}let i=[];if(e===void 0)for(let e of this.#e)i.push(e[1]);else{let e=this.#n(r,t);for(let t of e)i.push(t[1])}let a=[];for(let e of i){let t=d(u(e),`immutable`);if(a.push(t),a.length>=n)break}return Object.freeze(a)}};Object.defineProperties(y.prototype,{[Symbol.toStringTag]:{value:`Cache`,configurable:!0},match:s,matchAll:s,add:s,addAll:s,put:s,delete:s,keys:s});var b=[{key:`ignoreSearch`,converter:l.converters.boolean,defaultValue:()=>!1},{key:`ignoreMethod`,converter:l.converters.boolean,defaultValue:()=>!1},{key:`ignoreVary`,converter:l.converters.boolean,defaultValue:()=>!1}];l.converters.CacheQueryOptions=l.dictionaryConverter(b),l.converters.MultiCacheQueryOptions=l.dictionaryConverter([...b,{key:`cacheName`,converter:l.converters.DOMString}]),l.converters.Response=l.interfaceConverter(l.is.Response,`Response`),l.converters[`sequence<RequestInfo>`]=l.sequenceConverter(l.converters.RequestInfo),n.exports={Cache:y}})),zc=t(((e,t)=>{var{Cache:n}=Rc(),{webidl:r}=ws(),{kEnumerableProperty:i}=$(),{kConstruct:a}=Z(),o=class e{#e=new Map;constructor(){arguments[0]!==a&&r.illegalConstructor(),r.util.markAsUncloneable(this)}async match(t,i={}){if(r.brandCheck(this,e),r.argumentLengthCheck(arguments,1,`CacheStorage.match`),t=r.converters.RequestInfo(t),i=r.converters.MultiCacheQueryOptions(i),i.cacheName!=null){if(this.#e.has(i.cacheName))return await new n(a,this.#e.get(i.cacheName)).match(t,i)}else for(let e of this.#e.values()){let r=await new n(a,e).match(t,i);if(r!==void 0)return r}}async has(t){r.brandCheck(this,e);let n=`CacheStorage.has`;return r.argumentLengthCheck(arguments,1,n),t=r.converters.DOMString(t,n,`cacheName`),this.#e.has(t)}async open(t){r.brandCheck(this,e);let i=`CacheStorage.open`;if(r.argumentLengthCheck(arguments,1,i),t=r.converters.DOMString(t,i,`cacheName`),this.#e.has(t))return new n(a,this.#e.get(t));let o=[];return this.#e.set(t,o),new n(a,o)}async delete(t){r.brandCheck(this,e);let n=`CacheStorage.delete`;return r.argumentLengthCheck(arguments,1,n),t=r.converters.DOMString(t,n,`cacheName`),this.#e.delete(t)}async keys(){return r.brandCheck(this,e),[...this.#e.keys()]}};Object.defineProperties(o.prototype,{[Symbol.toStringTag]:{value:`CacheStorage`,configurable:!0},match:i,has:i,open:i,delete:i,keys:i}),t.exports={CacheStorage:o}})),Bc=t(((e,t)=>{t.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}})),Vc=t(((e,t)=>{function n(e){for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(n>=0&&n<=8||n>=10&&n<=31||n===127)return!0}return!1}function r(e){for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(n<33||n>126||n===34||n===40||n===41||n===60||n===62||n===64||n===44||n===59||n===58||n===92||n===47||n===91||n===93||n===63||n===61||n===123||n===125)throw Error(`Invalid cookie name`)}}function i(e){let t=e.length,n=0;if(e[0]===`"`){if(t===1||e[t-1]!==`"`)throw Error(`Invalid cookie value`);--t,++n}for(;n<t;){let t=e.charCodeAt(n++);if(t<33||t>126||t===34||t===44||t===59||t===92)throw Error(`Invalid cookie value`)}}function a(e){for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(n<32||n>126||n===59)throw Error(`Invalid cookie path`)}}function o(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function s(e){if(e===` `)return;if(e.length>255)throw Error(`Invalid cookie domain`);let t=0;for(let n=0;n<e.length;++n){let r=e.charCodeAt(n);if(r===46){if(t===0||e.charCodeAt(n-1)===45)throw Error(`Invalid cookie domain`);t=0;continue}if(t===0&&!o(r)||!o(r)&&r!==45||++t>63)throw Error(`Invalid cookie domain`)}if(t===0||e.charCodeAt(e.length-1)===45)throw Error(`Invalid cookie domain`)}var c=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],l=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],u=Array(61).fill(0).map((e,t)=>t.toString().padStart(2,`0`));function d(e){return typeof e==`number`&&(e=new Date(e)),`${c[e.getUTCDay()]}, ${u[e.getUTCDate()]} ${l[e.getUTCMonth()]} ${e.getUTCFullYear()} ${u[e.getUTCHours()]}:${u[e.getUTCMinutes()]}:${u[e.getUTCSeconds()]} GMT`}function f(e){if(e<0)throw Error(`Invalid cookie max-age`)}function p(e){if(e.name.length===0)return null;r(e.name),i(e.value);let t=[`${e.name}=${e.value}`];e.name.startsWith(`__Secure-`)&&(e.secure=!0),e.name.startsWith(`__Host-`)&&(e.secure=!0,e.domain=null,e.path=`/`),e.secure&&t.push(`Secure`),e.httpOnly&&t.push(`HttpOnly`),typeof e.maxAge==`number`&&(f(e.maxAge),t.push(`Max-Age=${e.maxAge}`)),e.domain&&(s(e.domain),t.push(`Domain=${e.domain}`)),e.path&&(a(e.path),t.push(`Path=${e.path}`)),e.expires&&e.expires.toString()!==`Invalid Date`&&t.push(`Expires=${d(e.expires)}`),e.sameSite&&t.push(`SameSite=${e.sameSite}`);for(let n of e.unparsed){if(!n.includes(`=`))throw Error(`Invalid unparsed`);let[e,...a]=n.split(`=`),o=e.trim(),s=a.join(`=`);r(o),i(s),t.push(`${o}=${s}`)}return t.join(`; `)}t.exports={isCTLExcludingHtab:n,validateCookieName:r,validateCookiePath:a,validateCookieValue:i,toIMFDate:d,stringify:p}})),Hc=t(((t,n)=>{var{collectASequenceOfCodePointsFast:r}=Ss(),{maxNameValuePairSize:i,maxAttributeValueSize:a}=Bc(),{isCTLExcludingHtab:o}=Vc(),s=e(`node:assert`);function c(e){if(o(e))return null;let t=``,n=``,a=``,s=``;if(e.includes(`;`)){let i={position:0};t=r(`;`,e,i),n=e.slice(i.position)}else t=e;if(!t.includes(`=`))s=t;else{let e={position:0};a=r(`=`,t,e),s=t.slice(e.position+1)}return a=a.trim(),s=s.trim(),a.length+s.length>i?null:{name:a,value:s,...l(n)}}function l(e,t={}){for(;;){if(e.length===0)return t;s(e[0]===`;`),e=e.slice(1);let n=``;e.includes(`;`)?(n=r(`;`,e,{position:0}),e=e.slice(n.length)):(n=e,e=``);let i=``,o=``;if(n.includes(`=`)){let e={position:0};i=r(`=`,n,e),o=n.slice(e.position+1)}else i=n;if(i=i.trim(),o=o.trim(),o.length>a)continue;let c=i.toLowerCase();if(c===`expires`){let e=new Date(o);Number.isNaN(e.getTime())||(t.expires=e)}else if(c===`max-age`){let e=o.charCodeAt(0),n=e>=48&&e<=57,r=o[0]===`-`&&o.length>1;if(!n&&!r||/[^\d]/.test(o.slice(1)))continue;t.maxAge=Number(o)}else if(c===`domain`){let e=o;e[0]===`.`&&(e=e.slice(1)),e=e.toLowerCase(),t.domain=e}else if(c===`path`){let e=``;e=o.length===0||o[0]!==`/`?`/`:o,t.path=e}else if(c===`secure`)t.secure=!0;else if(c===`httponly`)t.httpOnly=!0;else if(c===`samesite`){let e=o.toLowerCase();e===`none`?t.sameSite=`None`:e===`strict`?t.sameSite=`Strict`:e===`lax`&&(t.sameSite=`Lax`)}else t.unparsed??=[],t.unparsed.push(`${i}=${o}`)}}n.exports={parseSetCookie:c,parseUnparsedAttributes:l}})),Uc=t(((e,t)=>{var{parseSetCookie:n}=Hc(),{stringify:r}=Vc(),{webidl:i}=ws(),{Headers:a}=Mc(),o=i.brandCheckMultiple([a,globalThis.Headers].filter(Boolean));function s(e){i.argumentLengthCheck(arguments,1,`getCookies`),o(e);let t=e.get(`cookie`),n={};if(!t)return n;for(let e of t.split(`;`)){let[t,...r]=e.split(`=`);n[t.trim()]=r.join(`=`)}return n}function c(e,t,n){o(e);let r=`deleteCookie`;i.argumentLengthCheck(arguments,2,r),t=i.converters.DOMString(t,r,`name`),n=i.converters.DeleteCookieAttributes(n),d(e,{name:t,value:``,expires:new Date(0),...n})}function l(e){i.argumentLengthCheck(arguments,1,`getSetCookies`),o(e);let t=e.getSetCookie();return t?t.map(e=>n(e)):[]}function u(e){return e=i.converters.DOMString(e),n(e)}function d(e,t){i.argumentLengthCheck(arguments,2,`setCookie`),o(e),t=i.converters.Cookie(t);let n=r(t);n&&e.append(`set-cookie`,n,!0)}i.converters.DeleteCookieAttributes=i.dictionaryConverter([{converter:i.nullableConverter(i.converters.DOMString),key:`path`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters.DOMString),key:`domain`,defaultValue:()=>null}]),i.converters.Cookie=i.dictionaryConverter([{converter:i.converters.DOMString,key:`name`},{converter:i.converters.DOMString,key:`value`},{converter:i.nullableConverter(e=>typeof e==`number`?i.converters[`unsigned long long`](e):new Date(e)),key:`expires`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters[`long long`]),key:`maxAge`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters.DOMString),key:`domain`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters.DOMString),key:`path`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters.boolean),key:`secure`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters.boolean),key:`httpOnly`,defaultValue:()=>null},{converter:i.converters.USVString,key:`sameSite`,allowedValues:[`Strict`,`Lax`,`None`]},{converter:i.sequenceConverter(i.converters.DOMString),key:`unparsed`,defaultValue:()=>[]}]),t.exports={getCookies:s,deleteCookie:c,getSetCookies:l,setCookie:d,parseCookie:u}})),Wc=t(((e,t)=>{var{webidl:n}=ws(),{kEnumerableProperty:r}=$(),{kConstruct:i}=Z(),a=class e extends Event{#e;constructor(e,t={}){if(e===i){super(arguments[1],arguments[2]),n.util.markAsUncloneable(this);return}let r=`MessageEvent constructor`;n.argumentLengthCheck(arguments,1,r),e=n.converters.DOMString(e,r,`type`),t=n.converters.MessageEventInit(t,r,`eventInitDict`),super(e,t),this.#e=t,n.util.markAsUncloneable(this)}get data(){return n.brandCheck(this,e),this.#e.data}get origin(){return n.brandCheck(this,e),this.#e.origin}get lastEventId(){return n.brandCheck(this,e),this.#e.lastEventId}get source(){return n.brandCheck(this,e),this.#e.source}get ports(){return n.brandCheck(this,e),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(t,r=!1,i=!1,a=null,o=``,s=``,c=null,l=[]){return n.brandCheck(this,e),n.argumentLengthCheck(arguments,1,`MessageEvent.initMessageEvent`),new e(t,{bubbles:r,cancelable:i,data:a,origin:o,lastEventId:s,source:c,ports:l})}static createFastMessageEvent(t,n){let r=new e(i,t,n);return r.#e=n,r.#e.data??=null,r.#e.origin??=``,r.#e.lastEventId??=``,r.#e.source??=null,r.#e.ports??=[],r}},{createFastMessageEvent:o}=a;delete a.createFastMessageEvent;var s=class e extends Event{#e;constructor(e,t={}){let r=`CloseEvent constructor`;n.argumentLengthCheck(arguments,1,r),e=n.converters.DOMString(e,r,`type`),t=n.converters.CloseEventInit(t),super(e,t),this.#e=t,n.util.markAsUncloneable(this)}get wasClean(){return n.brandCheck(this,e),this.#e.wasClean}get code(){return n.brandCheck(this,e),this.#e.code}get reason(){return n.brandCheck(this,e),this.#e.reason}},c=class e extends Event{#e;constructor(e,t){let r=`ErrorEvent constructor`;n.argumentLengthCheck(arguments,1,r),super(e,t),n.util.markAsUncloneable(this),e=n.converters.DOMString(e,r,`type`),t=n.converters.ErrorEventInit(t??{}),this.#e=t}get message(){return n.brandCheck(this,e),this.#e.message}get filename(){return n.brandCheck(this,e),this.#e.filename}get lineno(){return n.brandCheck(this,e),this.#e.lineno}get colno(){return n.brandCheck(this,e),this.#e.colno}get error(){return n.brandCheck(this,e),this.#e.error}};Object.defineProperties(a.prototype,{[Symbol.toStringTag]:{value:`MessageEvent`,configurable:!0},data:r,origin:r,lastEventId:r,source:r,ports:r,initMessageEvent:r}),Object.defineProperties(s.prototype,{[Symbol.toStringTag]:{value:`CloseEvent`,configurable:!0},reason:r,code:r,wasClean:r}),Object.defineProperties(c.prototype,{[Symbol.toStringTag]:{value:`ErrorEvent`,configurable:!0},message:r,filename:r,lineno:r,colno:r,error:r}),n.converters.MessagePort=n.interfaceConverter(n.is.MessagePort,`MessagePort`),n.converters[`sequence<MessagePort>`]=n.sequenceConverter(n.converters.MessagePort);var l=[{key:`bubbles`,converter:n.converters.boolean,defaultValue:()=>!1},{key:`cancelable`,converter:n.converters.boolean,defaultValue:()=>!1},{key:`composed`,converter:n.converters.boolean,defaultValue:()=>!1}];n.converters.MessageEventInit=n.dictionaryConverter([...l,{key:`data`,converter:n.converters.any,defaultValue:()=>null},{key:`origin`,converter:n.converters.USVString,defaultValue:()=>``},{key:`lastEventId`,converter:n.converters.DOMString,defaultValue:()=>``},{key:`source`,converter:n.nullableConverter(n.converters.MessagePort),defaultValue:()=>null},{key:`ports`,converter:n.converters[`sequence<MessagePort>`],defaultValue:()=>[]}]),n.converters.CloseEventInit=n.dictionaryConverter([...l,{key:`wasClean`,converter:n.converters.boolean,defaultValue:()=>!1},{key:`code`,converter:n.converters[`unsigned short`],defaultValue:()=>0},{key:`reason`,converter:n.converters.USVString,defaultValue:()=>``}]),n.converters.ErrorEventInit=n.dictionaryConverter([...l,{key:`message`,converter:n.converters.DOMString,defaultValue:()=>``},{key:`filename`,converter:n.converters.USVString,defaultValue:()=>``},{key:`lineno`,converter:n.converters[`unsigned long`],defaultValue:()=>0},{key:`colno`,converter:n.converters[`unsigned long`],defaultValue:()=>0},{key:`error`,converter:n.converters.any}]),t.exports={MessageEvent:a,CloseEvent:s,ErrorEvent:c,createFastMessageEvent:o}})),Gc=t(((e,t)=>{t.exports={uid:`258EAFA5-E914-47DA-95CA-C5AB0DC85B11`,sentCloseFrameState:{SENT:1,RECEIVED:2},staticPropertyDescriptors:{enumerable:!0,writable:!1,configurable:!1},states:{CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},opcodes:{CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},maxUnsigned16Bit:65535,parserStates:{INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},emptyBuffer:Buffer.allocUnsafe(0),sendHints:{text:1,typedArray:2,arrayBuffer:3,blob:4}}})),Kc=t(((t,n)=>{var{states:r,opcodes:i}=Gc(),{isUtf8:a}=e(`node:buffer`),{removeHTTPWhitespace:o}=Cs(),{collectASequenceOfCodePointsFast:s}=Ss();function c(e){return e===r.CONNECTING}function l(e){return e===r.OPEN}function u(e){return e===r.CLOSING}function d(e){return e===r.CLOSED}function f(e,t,n=(e,t)=>new Event(e,t),r={}){let i=n(e,r);t.dispatchEvent(i)}function p(e,t,n){e.onMessage(t,n)}function m(e){return e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer}function h(e){if(e.length===0)return!1;for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(n<33||n>126||n===34||n===40||n===41||n===44||n===47||n===58||n===59||n===60||n===61||n===62||n===63||n===64||n===91||n===92||n===93||n===123||n===125)return!1}return!0}function g(e){return e>=1e3&&e<1015?e!==1004&&e!==1005&&e!==1006:e>=3e3&&e<=4999}function _(e){return e===i.CLOSE||e===i.PING||e===i.PONG}function v(e){return e===i.CONTINUATION}function y(e){return e===i.TEXT||e===i.BINARY}function b(e){return y(e)||v(e)||_(e)}function x(e){let t={position:0},n=new Map;for(;t.position<e.length;){let[r,i=``]=s(`;`,e,t).split(`=`,2);n.set(o(r,!0,!1),o(i,!1,!0)),t.position++}return n}function S(e){if(e.length===0)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}let t=Number.parseInt(e,10);return t>=8&&t<=15}function C(e,t){let n;try{n=new URL(e,t)}catch(e){throw new DOMException(e,`SyntaxError`)}if(n.protocol===`http:`?n.protocol=`ws:`:n.protocol===`https:`&&(n.protocol=`wss:`),n.protocol!==`ws:`&&n.protocol!==`wss:`)throw new DOMException(`expected a ws: or wss: url`,`SyntaxError`);if(n.hash.length||n.href.endsWith(`#`))throw new DOMException(`hash`,`SyntaxError`);return n}function w(e,t){if(e!==null&&e!==1e3&&(e<3e3||e>4999))throw new DOMException(`invalid code`,`InvalidAccessError`);if(t!==null){let e=Buffer.byteLength(t);if(e>123)throw new DOMException(`Reason must be less than 123 bytes; received ${e}`,`SyntaxError`)}}n.exports={isConnecting:c,isEstablished:l,isClosing:u,isClosed:d,fireEvent:f,isValidSubprotocol:h,isValidStatusCode:g,websocketMessageReceived:p,utf8Decode:(()=>{if(typeof process.versions.icu==`string`){let e=new TextDecoder(`utf-8`,{fatal:!0});return e.decode.bind(e)}return function(e){if(a(e))return e.toString(`utf-8`);throw TypeError(`Invalid utf-8 received.`)}})(),isControlFrame:_,isContinuationFrame:v,isTextBinaryFrame:y,isValidOpcode:b,parseExtensions:x,isValidClientWindowBits:S,toArrayBuffer:m,getURLRecord:C,validateCloseCodeAndReason:w}})),qc=t(((t,n)=>{var{runtimeFeatures:r}=Es(),{maxUnsigned16Bit:i,opcodes:a}=Gc(),o=8192,s=null,c=o,l=r.has(`crypto`)?e(`node:crypto`).randomFillSync:null;function u(){return c===o&&(c=0,l(s??=Buffer.allocUnsafeSlow(o),0,o)),[s[c++],s[c++],s[c++],s[c++]]}n.exports={WebsocketFrameSend:class{constructor(e){this.frameData=e}createFrame(e){let t=this.frameData,n=u(),r=t?.byteLength??0,a=r,o=6;r>i?(o+=8,a=127):r>125&&(o+=2,a=126);let s=Buffer.allocUnsafe(r+o);s[0]=s[1]=0,s[0]|=128,s[0]=(s[0]&240)+e,s[o-4]=n[0],s[o-3]=n[1],s[o-2]=n[2],s[o-1]=n[3],s[1]=a,a===126?s.writeUInt16BE(r,2):a===127&&(s[2]=s[3]=0,s.writeUIntBE(r,4,6)),s[1]|=128;for(let e=0;e<r;++e)s[o+e]=t[e]^n[e&3];return s}static createFastTextFrame(e){let t=u(),n=e.length;for(let r=0;r<n;++r)e[r]^=t[r&3];let r=n,o=6;n>i?(o+=8,r=127):n>125&&(o+=2,r=126);let s=Buffer.allocUnsafeSlow(o);return s[0]=128|a.TEXT,s[1]=r|128,s[o-4]=t[0],s[o-3]=t[1],s[o-2]=t[2],s[o-1]=t[3],r===126?s.writeUInt16BE(n,2):r===127&&(s[2]=s[3]=0,s.writeUIntBE(n,4,6)),[s,e]}},generateMask:u}})),Jc=t(((t,n)=>{var{uid:r,states:i,sentCloseFrameState:a,emptyBuffer:o,opcodes:s}=Gc(),{parseExtensions:c,isClosed:l,isClosing:u,isEstablished:d,isConnecting:f,validateCloseCodeAndReason:p}=Kc(),{makeRequest:m}=Pc(),{fetching:h}=Ic(),{Headers:g,getHeadersList:_}=Mc(),{getDecodeSplit:v}=Ts(),{WebsocketFrameSend:y}=qc(),b=e(`node:assert`),{runtimeFeatures:x}=Es(),S=x.has(`crypto`)?e(`node:crypto`):null,C=!1;function w(e,t,n,i,a){let o=e;o.protocol=e.protocol===`ws:`?`http:`:`https:`;let s=m({urlList:[o],client:n,serviceWorkers:`none`,referrer:`no-referrer`,mode:`websocket`,credentials:`include`,cache:`no-store`,redirect:`error`,useURLCredentials:!0});a.headers&&(s.headersList=_(new g(a.headers)));let l=S.randomBytes(16).toString(`base64`);s.headersList.append(`sec-websocket-key`,l,!0),s.headersList.append(`sec-websocket-version`,`13`,!0);for(let e of t)s.headersList.append(`sec-websocket-protocol`,e,!0);return s.headersList.append(`sec-websocket-extensions`,`permessage-deflate; client_max_window_bits`,!0),h({request:s,useParallelQueue:!0,dispatcher:a.dispatcher,processResponse(e){if(e.type===`error`||e.status!==101){if(e.socket?.session==null){E(i,1002,`Received network error or non-101 status code.`,e.error);return}if(e.status!==200){E(i,1002,`Received network error or non-200 status code.`,e.error);return}}if(C===!1&&e.socket?.session!=null&&(process.emitWarning(`WebSocket over HTTP2 is experimental, and subject to change.`,`ExperimentalWarning`),C=!0),t.length!==0&&!e.headersList.get(`Sec-WebSocket-Protocol`)){E(i,1002,`Server did not respond with sent protocols.`);return}if(e.socket.session==null&&e.headersList.get(`Upgrade`)?.toLowerCase()!==`websocket`){E(i,1002,`Server did not set Upgrade header to "websocket".`);return}if(e.socket.session==null&&e.headersList.get(`Connection`)?.toLowerCase()!==`upgrade`){E(i,1002,`Server did not set Connection header to "upgrade".`);return}if(e.headersList.get(`Sec-WebSocket-Accept`)!==S.hash(`sha1`,l+r,`base64`)){E(i,1002,`Incorrect hash received in Sec-WebSocket-Accept header.`);return}let n=e.headersList.get(`Sec-WebSocket-Extensions`),a;if(n!==null&&(a=c(n),!a.has(`permessage-deflate`))){E(i,1002,`Sec-WebSocket-Extensions header does not match.`);return}let o=e.headersList.get(`Sec-WebSocket-Protocol`);if(o!==null){let e=v(`sec-websocket-protocol`,s.headersList);if(e===null||!e.includes(o)){E(i,1002,`Protocol was not set in the opening handshake.`);return}}e.socket.on(`data`,i.onSocketData),e.socket.on(`close`,i.onSocketClose),e.socket.on(`error`,i.onSocketError),i.wasEverConnected=!0,i.onConnectionEstablished(e,a)}})}function T(e,t,n,r=!1){if(t??=null,n??=``,r&&p(t,n),!(l(e.readyState)||u(e.readyState))){if(!d(e.readyState))E(e),e.readyState=i.CLOSING;else if(!e.closeState.has(a.SENT)&&!e.closeState.has(a.RECEIVED)){let r=new y;n.length!==0&&t===null&&(t=1e3),b(t===null||Number.isInteger(t)),t===null&&n.length===0?r.frameData=o:t!==null&&n===null?(r.frameData=Buffer.allocUnsafe(2),r.frameData.writeUInt16BE(t,0)):t!==null&&n!==null?(r.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(n)),r.frameData.writeUInt16BE(t,0),r.frameData.write(n,2,`utf-8`)):r.frameData=o,e.socket.write(r.createFrame(s.CLOSE)),e.closeState.add(a.SENT),e.readyState=i.CLOSING}else e.readyState=i.CLOSING}}function E(e,t,n,r){d(e.readyState)&&T(e,t,n,!1),e.controller.abort(),f(e.readyState)?e.onSocketClose():e.socket?.destroyed===!1&&e.socket.destroy()}n.exports={establishWebSocketConnection:w,failWebsocketConnection:E,closeWebSocketConnection:T}})),Yc=t(((t,n)=>{var{createInflateRaw:r,Z_DEFAULT_WINDOWBITS:i}=e(`node:zlib`),{isValidClientWindowBits:a}=Kc(),{MessageSizeExceededError:o}=Q(),s=Buffer.from([0,0,255,255]),c=Symbol(`kBuffer`),l=Symbol(`kLength`);n.exports={PerMessageDeflate:class{#e;#t={};#n=0;constructor(e,t){this.#t.serverNoContextTakeover=e.has(`server_no_context_takeover`),this.#t.serverMaxWindowBits=e.get(`server_max_window_bits`),this.#n=t.maxPayloadSize}decompress(e,t,n){if(!this.#e){let e=i;if(this.#t.serverMaxWindowBits){if(!a(this.#t.serverMaxWindowBits)){n(Error(`Invalid server_max_window_bits`));return}e=Number.parseInt(this.#t.serverMaxWindowBits)}try{this.#e=r({windowBits:e})}catch(e){n(e);return}this.#e[c]=[],this.#e[l]=0,this.#e.on(`data`,e=>{if(this.#e[l]+=e.length,this.#n>0&&this.#e[l]>this.#n){n(new o),this.#e.removeAllListeners(),this.#e.destroy(),this.#e=null;return}this.#e[c].push(e)}),this.#e.on(`error`,e=>{this.#e=null,n(e)})}this.#e.write(e),t&&this.#e.write(s),this.#e.flush(()=>{if(!this.#e)return;let e=Buffer.concat(this.#e[c],this.#e[l]);this.#e[c].length=0,this.#e[l]=0,n(null,e)})}}}})),Xc=t(((t,n)=>{var{Writable:r}=e(`node:stream`),i=e(`node:assert`),{parserStates:a,opcodes:o,states:s,emptyBuffer:c,sentCloseFrameState:l}=Gc(),{isValidStatusCode:u,isValidOpcode:d,websocketMessageReceived:f,utf8Decode:p,isControlFrame:m,isTextBinaryFrame:h,isContinuationFrame:g}=Kc(),{failWebsocketConnection:_}=Jc(),{WebsocketFrameSend:v}=qc(),{PerMessageDeflate:y}=Yc(),{MessageSizeExceededError:b}=Q();n.exports={ByteParser:class extends r{#e=[];#t=0;#n=0;#r=!1;#i=a.INFO;#a={};#o=[];#s;#c;#l;#u;constructor(e,t,n={}){super(),this.#c=e,this.#s=t??new Map,this.#l=n.maxFragments??0,this.#u=n.maxPayloadSize??0,this.#s.has(`permessage-deflate`)&&this.#s.set(`permessage-deflate`,new y(t,n))}_write(e,t,n){this.#e.push(e),this.#n+=e.length,this.#r=!0,this.run(n)}#d(){return this.#u>0&&!m(this.#a.opcode)&&this.#a.payloadLength+this.#t>this.#u?(_(this.#c,1009,`Payload size exceeds maximum allowed size`),!1):!0}run(e){for(;this.#r;)if(this.#i===a.INFO){if(this.#n<2)return e();let t=this.consume(2),n=!!(t[0]&128),r=t[0]&15,i=(t[1]&128)==128,s=!n&&r!==o.CONTINUATION,c=t[1]&127,l=t[0]&64,u=t[0]&32,f=t[0]&16;if(!d(r))return _(this.#c,1002,`Invalid opcode received`),e();if(i)return _(this.#c,1002,`Frame cannot be masked`),e();if(l!==0&&!this.#s.has(`permessage-deflate`)){_(this.#c,1002,`Expected RSV1 to be clear.`);return}if(u!==0||f!==0){_(this.#c,1002,`RSV1, RSV2, RSV3 must be clear`);return}if(s&&!h(r)){_(this.#c,1002,`Invalid frame type was fragmented.`);return}if(h(r)&&this.#o.length>0){_(this.#c,1002,`Expected continuation frame`);return}if(this.#a.fragmented&&s){_(this.#c,1002,`Fragmented frame exceeded 125 bytes.`);return}if((c>125||s)&&m(r)){_(this.#c,1002,`Control frame either too large or fragmented`);return}if(g(r)&&this.#o.length===0&&!this.#a.compressed){_(this.#c,1002,`Unexpected continuation frame`);return}if(c<=125){if(this.#a.payloadLength=c,this.#i=a.READ_DATA,!this.#d())return}else c===126?this.#i=a.PAYLOADLENGTH_16:c===127&&(this.#i=a.PAYLOADLENGTH_64);h(r)&&(this.#a.binaryType=r,this.#a.compressed=l!==0),this.#a.opcode=r,this.#a.masked=i,this.#a.fin=n,this.#a.fragmented=s}else if(this.#i===a.PAYLOADLENGTH_16){if(this.#n<2)return e();let t=this.consume(2);if(this.#a.payloadLength=t.readUInt16BE(0),this.#i=a.READ_DATA,!this.#d())return}else if(this.#i===a.PAYLOADLENGTH_64){if(this.#n<8)return e();let t=this.consume(8),n=t.readUInt32BE(0),r=t.readUInt32BE(4);if(n!==0||r>2**31-1){_(this.#c,1009,`Received payload length > 2^31 bytes.`);return}if(this.#a.payloadLength=r,this.#i=a.READ_DATA,!this.#d())return}else if(this.#i===a.READ_DATA){if(this.#n<this.#a.payloadLength)return e();let t=this.consume(this.#a.payloadLength);if(m(this.#a.opcode))this.#r=this.parseControlFrame(t),this.#i=a.INFO;else if(this.#a.compressed){this.#s.get(`permessage-deflate`).decompress(t,this.#a.fin,(t,n)=>{if(t){let e=t instanceof b?1009:1007;_(this.#c,e,t.message);return}if(this.writeFragments(n)){if(this.#u>0&&this.#t>this.#u){_(this.#c,1009,new b().message);return}if(!this.#a.fin){this.#i=a.INFO,this.#r=!0,this.run(e);return}f(this.#c,this.#a.binaryType,this.consumeFragments()),this.#r=!0,this.#i=a.INFO,this.run(e)}},this.#t),this.#r=!1;break}else{if(!this.writeFragments(t))return;!this.#a.fragmented&&this.#a.fin&&f(this.#c,this.#a.binaryType,this.consumeFragments()),this.#i=a.INFO}}}consume(e){if(e>this.#n)throw Error(`Called consume() before buffers satiated.`);if(e===0)return c;this.#n-=e;let t=this.#e[0];if(t.length>e)return this.#e[0]=t.subarray(e,t.length),t.subarray(0,e);if(t.length===e)return this.#e.shift();{let t=0,n=Buffer.allocUnsafeSlow(e);for(;t!==e;){let r=this.#e[0],i=r.length;if(i+t===e){n.set(this.#e.shift(),t);break}if(i+t>e){n.set(r.subarray(0,e-t),t),this.#e[0]=r.subarray(e-t);break}n.set(this.#e.shift(),t),t+=i}return n}}writeFragments(e){return this.#l>0&&this.#o.length===this.#l?(_(this.#c,1008,`Too many message fragments`),!1):(this.#t+=e.length,this.#o.push(e),!0)}consumeFragments(){let e=this.#o;if(e.length===1)return this.#t=0,e.shift();let t=0,n=Buffer.allocUnsafeSlow(this.#t);for(let r=0;r<e.length;++r){let i=e[r];n.set(i,t),t+=i.length}return this.#o=[],this.#t=0,n}parseCloseBody(e){i(e.length!==1);let t;if(e.length>=2&&(t=e.readUInt16BE(0)),t!==void 0&&!u(t))return{code:1002,reason:`Invalid status code`,error:!0};let n=e.subarray(2);n[0]===239&&n[1]===187&&n[2]===191&&(n=n.subarray(3));try{n=p(n)}catch{return{code:1007,reason:`Invalid UTF-8`,error:!0}}return{code:t,reason:n,error:!1}}parseControlFrame(e){let{opcode:t,payloadLength:n}=this.#a;if(t===o.CLOSE){if(n===1)return _(this.#c,1002,`Received close frame with a 1-byte body.`),!1;if(this.#a.closeInfo=this.parseCloseBody(e),this.#a.closeInfo.error){let{code:e,reason:t}=this.#a.closeInfo;return _(this.#c,e,t),!1}if(!this.#c.closeState.has(l.SENT)&&!this.#c.closeState.has(l.RECEIVED)){let e=c;this.#a.closeInfo.code&&(e=Buffer.allocUnsafe(2),e.writeUInt16BE(this.#a.closeInfo.code,0));let t=new v(e);this.#c.socket.write(t.createFrame(o.CLOSE)),this.#c.closeState.add(l.SENT)}return this.#c.readyState=s.CLOSING,this.#c.closeState.add(l.RECEIVED),!1}if(t===o.PING){if(!this.#c.closeState.has(l.RECEIVED)){let t=new v(e);this.#c.socket.write(t.createFrame(o.PONG)),this.#c.onPing(e)}}else t===o.PONG&&this.#c.onPong(e);return!0}get closingInfo(){return this.#a.closeInfo}}}})),Zc=t(((e,t)=>{var{WebsocketFrameSend:n}=qc(),{opcodes:r,sendHints:i}=Gc(),a=Ns(),o=class{#e=new a;#t=!1;#n;constructor(e){this.#n=e}add(e,t,r){if(r!==i.blob){if(this.#t){let n={promise:null,callback:t,frame:s(e,r)};this.#e.push(n)}else if(r===i.text){let{0:r,1:i}=n.createFastTextFrame(e);this.#n.cork(),this.#n.write(r),this.#n.write(i,t),this.#n.uncork()}else this.#n.write(s(e,r),t);return}let a={promise:e.arrayBuffer().then(e=>{a.promise=null,a.frame=s(e,r)}),callback:t,frame:null};this.#e.push(a),this.#t||this.#r()}async#r(){this.#t=!0;let e=this.#e;for(;!e.isEmpty();){let t=e.shift();t.promise!==null&&await t.promise,this.#n.write(t.frame,t.callback),t.callback=t.frame=null}this.#t=!1}};function s(e,t){return new n(c(e,t)).createFrame(t===i.text?r.TEXT:r.BINARY)}function c(e,t){switch(t){case i.text:case i.typedArray:return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);case i.arrayBuffer:case i.blob:return new Uint8Array(e)}}t.exports={SendQueue:o}})),Qc=t(((t,n)=>{var{isArrayBuffer:r}=e(`node:util/types`),{webidl:i}=ws(),{URLSerializer:a}=Cs(),{environmentSettingsObject:o}=Ts(),{staticPropertyDescriptors:s,states:c,sentCloseFrameState:l,sendHints:u,opcodes:d}=Gc(),{isConnecting:f,isEstablished:p,isClosing:m,isClosed:h,isValidSubprotocol:g,fireEvent:_,utf8Decode:v,toArrayBuffer:y,getURLRecord:b}=Kc(),{establishWebSocketConnection:x,closeWebSocketConnection:S,failWebsocketConnection:C}=Jc(),{ByteParser:w}=Xc(),{kEnumerableProperty:T}=$(),{getGlobalDispatcher:E}=mc(),{ErrorEvent:D,CloseEvent:O,createFastMessageEvent:k}=Wc(),{SendQueue:A}=Zc(),{WebsocketFrameSend:j}=qc(),{channels:M}=us(),N=Symbol.for(`nodejs.ref`),P=Symbol.for(`nodejs.unref`);function F(e){return typeof e?.address==`function`?e.address():typeof e?.session?.socket?.address==`function`?e.session.socket.address():null}var I=class e extends EventTarget{#e={open:null,error:null,close:null,message:null};#t=0;#n=``;#r=``;#i=!0;#a;#o={onConnectionEstablished:(e,t)=>this.#u(e,t),onMessage:(e,t)=>this.#d(e,t),onParserError:e=>C(this.#o,null,e.message),onParserDrain:()=>this.#f(),onSocketData:e=>{this.#l.write(e)||this.#o.socket.pause()},onSocketError:e=>{this.#o.readyState=c.CLOSING,M.socketError.hasSubscribers&&M.socketError.publish(e),this.#o.socket.destroy()},onSocketClose:()=>this.#p(),onPing:e=>{M.ping.hasSubscribers&&M.ping.publish({payload:e,websocket:this})},onPong:e=>{M.pong.hasSubscribers&&M.pong.publish({payload:e,websocket:this})},readyState:c.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#s;#c;#l;constructor(t,n=[]){super(),i.util.markAsUncloneable(this);let r=`WebSocket constructor`;i.argumentLengthCheck(arguments,1,r);let a=i.converters[`DOMString or sequence<DOMString> or WebSocketInit`](n,r,`options`);t=i.converters.USVString(t),n=a.protocols;let s=o.settingsObject.baseUrl,c=b(t,s);if(typeof n==`string`&&(n=[n]),n.length!==new Set(n.map(e=>e.toLowerCase())).size||n.length>0&&!n.every(e=>g(e)))throw new DOMException(`Invalid Sec-WebSocket-Protocol value`,`SyntaxError`);this.#s=new URL(c.href);let l=o.settingsObject;this.#o.controller=x(c,n,l,this.#o,a),this.#o.readyState=e.CONNECTING,this.#c=`blob`}[N](){i.brandCheck(this,e),this.#i=!0,this.#o.socket?.ref?.()}[P](){i.brandCheck(this,e),this.#i=!1,this.#o.socket?.unref?.()}close(t=void 0,n=void 0){i.brandCheck(this,e),t!==void 0&&(t=i.converters[`unsigned short`](t,`WebSocket.close`,`code`,i.attributes.Clamp)),n!==void 0&&(n=i.converters.USVString(n)),t??=null,n??=``,S(this.#o,t,n,!0)}send(t){i.brandCheck(this,e);let n=`WebSocket.send`;if(i.argumentLengthCheck(arguments,1,n),t=i.converters.WebSocketSendData(t,n,`data`),f(this.#o.readyState))throw new DOMException(`Sent before connected.`,`InvalidStateError`);if(p(this.#o.readyState)&&!m(this.#o.readyState)){if(typeof t==`string`){let e=Buffer.from(t);this.#t+=e.byteLength,this.#a.add(e,()=>{this.#t-=e.byteLength},u.text)}else r(t)?(this.#t+=t.byteLength,this.#a.add(t,()=>{this.#t-=t.byteLength},u.arrayBuffer)):ArrayBuffer.isView(t)?(this.#t+=t.byteLength,this.#a.add(t,()=>{this.#t-=t.byteLength},u.typedArray)):i.is.Blob(t)&&(this.#t+=t.size,this.#a.add(t,()=>{this.#t-=t.size},u.blob))}}get readyState(){return i.brandCheck(this,e),this.#o.readyState}get bufferedAmount(){return i.brandCheck(this,e),this.#t}get url(){return i.brandCheck(this,e),a(this.#s)}get extensions(){return i.brandCheck(this,e),this.#r}get protocol(){return i.brandCheck(this,e),this.#n}get onopen(){return i.brandCheck(this,e),this.#e.open}set onopen(t){i.brandCheck(this,e),this.#e.open&&this.removeEventListener(`open`,this.#e.open);let n=i.converters.EventHandlerNonNull(t);n===null?this.#e.open=null:(this.addEventListener(`open`,n),this.#e.open=t)}get onerror(){return i.brandCheck(this,e),this.#e.error}set onerror(t){i.brandCheck(this,e),this.#e.error&&this.removeEventListener(`error`,this.#e.error);let n=i.converters.EventHandlerNonNull(t);n===null?this.#e.error=null:(this.addEventListener(`error`,n),this.#e.error=t)}get onclose(){return i.brandCheck(this,e),this.#e.close}set onclose(t){i.brandCheck(this,e),this.#e.close&&this.removeEventListener(`close`,this.#e.close);let n=i.converters.EventHandlerNonNull(t);n===null?this.#e.close=null:(this.addEventListener(`close`,n),this.#e.close=t)}get onmessage(){return i.brandCheck(this,e),this.#e.message}set onmessage(t){i.brandCheck(this,e),this.#e.message&&this.removeEventListener(`message`,this.#e.message);let n=i.converters.EventHandlerNonNull(t);n===null?this.#e.message=null:(this.addEventListener(`message`,n),this.#e.message=t)}get binaryType(){return i.brandCheck(this,e),this.#c}set binaryType(t){i.brandCheck(this,e),this.#c=t!==`blob`&&t!==`arraybuffer`?`blob`:t}#u(e,t){this.#o.socket=e.socket,this.#i||this.#o.socket.unref?.();let n=this.#o.controller.dispatcher?.webSocketOptions?.maxFragments,r=this.#o.controller.dispatcher?.webSocketOptions?.maxPayloadSize,i=new w(this.#o,t,{maxFragments:n,maxPayloadSize:r});i.on(`drain`,()=>this.#o.onParserDrain()),i.on(`error`,e=>this.#o.onParserError(e)),this.#l=i,this.#a=new A(e.socket),this.#o.readyState=c.OPEN;let a=e.headersList.get(`sec-websocket-extensions`);a!==null&&(this.#r=a);let o=e.headersList.get(`sec-websocket-protocol`);if(o!==null&&(this.#n=o),_(`open`,this),M.open.hasSubscribers){let t=e.headersList.entries;M.open.publish({address:F(e.socket),protocol:this.#n,extensions:this.#r,websocket:this,handshakeResponse:{status:e.status,statusText:e.statusText,headers:t}})}}#d(e,t){if(this.#o.readyState!==c.OPEN)return;let n;if(e===d.TEXT)try{n=v(t)}catch{C(this.#o,1007,`Received invalid UTF-8 in text frame.`);return}else e===d.BINARY&&(n=this.#c===`blob`?new Blob([t]):y(t));_(`message`,this,k,{origin:this.#s.origin,data:n})}#f(){this.#o.socket.resume()}#p(){let e=this.#o.closeState.has(l.SENT)&&this.#o.closeState.has(l.RECEIVED),t=1005,n=``,r=this.#l?.closingInfo;r&&!r.error&&(t=r.code??1005,n=r.reason),this.#o.readyState=c.CLOSED,this.#o.closeState.has(l.RECEIVED)||(t=1006,_(`error`,this,(e,t)=>new D(e,t),{error:TypeError(n)})),_(`close`,this,(e,t)=>new O(e,t),{wasClean:e,code:t,reason:n}),M.close.hasSubscribers&&M.close.publish({websocket:this,code:t,reason:n})}static ping(e,t){if(Buffer.isBuffer(t)){if(t.length>125)throw TypeError(`A PING frame cannot have a body larger than 125 bytes.`)}else if(t!==void 0)throw TypeError(`Expected buffer payload`);let n=e.#o.readyState;if(p(n)&&!m(n)&&!h(n)){let n=new j(t);e.#o.socket.write(n.createFrame(d.PING))}}},{ping:L}=I;Reflect.deleteProperty(I,`ping`),I.CONNECTING=I.prototype.CONNECTING=c.CONNECTING,I.OPEN=I.prototype.OPEN=c.OPEN,I.CLOSING=I.prototype.CLOSING=c.CLOSING,I.CLOSED=I.prototype.CLOSED=c.CLOSED,Object.defineProperties(I.prototype,{CONNECTING:s,OPEN:s,CLOSING:s,CLOSED:s,url:T,readyState:T,bufferedAmount:T,onopen:T,onerror:T,onclose:T,close:T,onmessage:T,binaryType:T,send:T,extensions:T,protocol:T,[Symbol.toStringTag]:{value:`WebSocket`,writable:!1,enumerable:!1,configurable:!0}}),Object.defineProperties(I,{CONNECTING:s,OPEN:s,CLOSING:s,CLOSED:s}),i.converters[`sequence<DOMString>`]=i.sequenceConverter(i.converters.DOMString),i.converters[`DOMString or sequence<DOMString>`]=function(e,t,n){return i.util.Type(e)===i.util.Types.OBJECT&&Symbol.iterator in e?i.converters[`sequence<DOMString>`](e):i.converters.DOMString(e,t,n)},i.converters.WebSocketInit=i.dictionaryConverter([{key:`protocols`,converter:i.converters[`DOMString or sequence<DOMString>`],defaultValue:()=>[]},{key:`dispatcher`,converter:i.converters.any,defaultValue:()=>E()},{key:`headers`,converter:i.nullableConverter(i.converters.HeadersInit)}]),i.converters[`DOMString or sequence<DOMString> or WebSocketInit`]=function(e){return i.util.Type(e)===i.util.Types.OBJECT&&!(Symbol.iterator in e)?i.converters.WebSocketInit(e):{protocols:i.converters[`DOMString or sequence<DOMString>`](e)}},i.converters.WebSocketSendData=function(e){return i.util.Type(e)===i.util.Types.OBJECT&&(i.is.Blob(e)||i.is.BufferSource(e))?e:i.converters.USVString(e)},n.exports={WebSocket:I,ping:L}})),$c=t(((e,t)=>{var{webidl:n}=ws(),{validateCloseCodeAndReason:r}=Kc(),{kConstruct:i}=Z(),{kEnumerableProperty:a}=$();function o(){class e extends DOMException{get reason(){return``}}return new e().reason===void 0?new Proxy(DOMException,{construct(e,t,n){let r=Reflect.construct(e,t,e);return Object.setPrototypeOf(r,n.prototype),r}}):DOMException}var s=class e extends o(){#e;#t;constructor(e=``,t=void 0){if(e=n.converters.DOMString(e,`WebSocketError`,`message`),super(e,`WebSocketError`),t===i)return;t!==null&&(t=n.converters.WebSocketCloseInfo(t));let a=t.closeCode??null,o=t.reason??``;r(a,o),o.length!==0&&a===null&&(a=1e3),this.#e=a,this.#t=o}get closeCode(){return this.#e}get reason(){return this.#t}static createUnvalidatedWebSocketError(t,n,r){let a=new e(t,i);return a.#e=n,a.#t=r,a}},{createUnvalidatedWebSocketError:c}=s;delete s.createUnvalidatedWebSocketError,Object.defineProperties(s.prototype,{closeCode:a,reason:a,[Symbol.toStringTag]:{value:`WebSocketError`,writable:!1,enumerable:!1,configurable:!0}}),n.is.WebSocketError=n.util.MakeTypeAssertion(s),t.exports={WebSocketError:s,createUnvalidatedWebSocketError:c}})),el=t(((t,n)=>{var{addAbortListener:r}=e(`node:events`),{environmentSettingsObject:i,readableStreamClose:a}=Ts(),{states:o,opcodes:s,sentCloseFrameState:c}=Gc(),{webidl:l}=ws(),{getURLRecord:u,isValidSubprotocol:d,isEstablished:f,utf8Decode:p}=Kc(),{establishWebSocketConnection:m,failWebsocketConnection:h,closeWebSocketConnection:g}=Jc(),{channels:_}=us(),{WebsocketFrameSend:v}=qc(),{ByteParser:y}=Xc(),{WebSocketError:b,createUnvalidatedWebSocketError:x}=$c(),{kEnumerableProperty:S}=$(),{utf8DecodeBytes:C}=xs(),w=!1,T=class{#e;#t;#n;#r;#i;#a;#o=!1;#s={onConnectionEstablished:(e,t)=>this.#u(e,t),onMessage:(e,t)=>this.#d(e,t),onParserError:e=>h(this.#s,null,e.message),onParserDrain:()=>this.#s.socket.resume(),onSocketData:e=>{this.#c.write(e)||this.#s.socket.pause()},onSocketError:e=>{this.#s.readyState=o.CLOSING,_.socketError.hasSubscribers&&_.socketError.publish(e),this.#s.socket.destroy()},onSocketClose:()=>this.#f(),onPing:()=>{},onPong:()=>{},readyState:o.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#c;constructor(e,t=void 0){w||=(process.emitWarning(`WebSocketStream is experimental! Expect it to change at any time.`,{code:`UNDICI-WSS`}),!0),l.argumentLengthCheck(arguments,1,`WebSocket`),e=l.converters.USVString(e),t!==null&&(t=l.converters.WebSocketStreamOptions(t));let n=i.settingsObject.baseUrl,a=u(e,n),s=t.protocols;if(s.length!==new Set(s.map(e=>e.toLowerCase())).size||s.length>0&&!s.every(e=>d(e)))throw new DOMException(`Invalid Sec-WebSocket-Protocol value`,`SyntaxError`);if(this.#e=a.toString(),this.#t=Promise.withResolvers(),this.#n=Promise.withResolvers(),t.signal!=null){let e=t.signal;if(e.aborted){this.#t.reject(e.reason),this.#n.reject(e.reason);return}r(e,()=>{f(this.#s.readyState)||(h(this.#s),this.#s.readyState=o.CLOSING,this.#t.reject(e.reason),this.#n.reject(e.reason),this.#o=!0)})}let c=i.settingsObject;this.#s.controller=m(a,s,c,this.#s,t)}get url(){return this.#e.toString()}get opened(){return this.#t.promise}get closed(){return this.#n.promise}close(e=void 0){e!==null&&(e=l.converters.WebSocketCloseInfo(e));let t=e.closeCode??null,n=e.reason;g(this.#s,t,n,!0)}#l(e){e=l.converters.WebSocketStreamWrite(e);let t=Promise.withResolvers(),n=null,r=null;if(l.is.BufferSource(e))n=new Uint8Array(ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e.slice()),r=s.BINARY;else{let i;try{i=l.converters.DOMString(e)}catch(e){return t.reject(e),t.promise}n=new TextEncoder().encode(i),r=s.TEXT}if(!this.#s.closeState.has(c.SENT)&&!this.#s.closeState.has(c.RECEIVED)){let e=new v(n);this.#s.socket.write(e.createFrame(r),()=>{t.resolve(void 0)})}return t.promise}#u(e,t){this.#s.socket=e.socket;let n=this.#s.controller.dispatcher?.webSocketOptions?.maxFragments,r=this.#s.controller.dispatcher?.webSocketOptions?.maxPayloadSize,i=new y(this.#s,t,{maxFragments:n,maxPayloadSize:r});i.on(`drain`,()=>this.#s.onParserDrain()),i.on(`error`,e=>this.#s.onParserError(e)),this.#c=i,this.#s.readyState=o.OPEN;let a=t??``,s=e.headersList.get(`sec-websocket-protocol`)??``,c=new ReadableStream({start:e=>{this.#i=e},cancel:e=>this.#m(e)}),l=new WritableStream({start:e=>{this.#a=e},write:e=>this.#l(e),close:()=>g(this.#s,null,null),abort:e=>this.#p(e)});this.#r=c,this.#t.resolve({extensions:a,protocol:s,readable:c,writable:l})}#d(e,t){if(this.#s.readyState!==o.OPEN)return;let n;if(e===s.TEXT)try{n=p(t)}catch{h(this.#s,1007,`Received invalid UTF-8 in text frame.`);return}else e===s.BINARY&&(n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength));this.#i.enqueue(n)}#f(){let e=this.#s.closeState.has(c.SENT)&&this.#s.closeState.has(c.RECEIVED);if(this.#s.readyState=o.CLOSED,this.#o)return;this.#s.wasEverConnected||this.#t.reject(new b(`Socket never opened`));let t=this.#c?.closingInfo,n=t?.code??1005;!this.#s.closeState.has(c.SENT)&&!this.#s.closeState.has(c.RECEIVED)&&(n=1006);let r=t?.reason==null?``:C(Buffer.from(t.reason));if(e)a(this.#i),this.#a.error(new DOMException(`A closed WebSocketStream cannot be written to`,`InvalidStateError`)),this.#n.resolve({closeCode:n,reason:r});else{let e=x(`unclean close`,n,r);this.#i?.error(e),this.#a?.error(e),this.#n.reject(e)}}#p(e){let t=null,n=``;l.is.WebSocketError(e)&&(t=e.closeCode,n=e.reason),g(this.#s,t,n)}#m(e){this.#p(e)}};Object.defineProperties(T.prototype,{url:S,opened:S,closed:S,close:S,[Symbol.toStringTag]:{value:`WebSocketStream`,writable:!1,enumerable:!1,configurable:!0}}),l.converters.WebSocketStreamOptions=l.dictionaryConverter([{key:`protocols`,converter:l.sequenceConverter(l.converters.USVString),defaultValue:()=>[]},{key:`signal`,converter:l.nullableConverter(l.converters.AbortSignal),defaultValue:()=>null}]),l.converters.WebSocketCloseInfo=l.dictionaryConverter([{key:`closeCode`,converter:e=>l.converters[`unsigned short`](e,l.attributes.EnforceRange)},{key:`reason`,converter:l.converters.USVString,defaultValue:()=>``}]),l.converters.WebSocketStreamWrite=function(e){return typeof e==`string`?l.converters.USVString(e):l.converters.BufferSource(e)},n.exports={WebSocketStream:T}})),tl=t(((e,t)=>{var{makeRequest:n}=Pc();function r(e){return e.indexOf(`\0`)===-1}function i(e){if(e.length===0)return!1;for(let t=0;t<e.length;t++)if(e.charCodeAt(t)<48||e.charCodeAt(t)>57)return!1;return!0}function a(e,t,r,i){let a=r===`no cors`?`no-cors`:`cors`;i&&a===`no-cors`&&(a=`same-origin`);let o=`include`;return r===`anonymous`&&(o=`same-origin`),n({urlList:[e],destination:t,mode:a,credentials:o,useURLCredentials:!0})}t.exports={isValidLastEventId:r,isASCIINumber:i,createPotentialCORSRequest:a}})),nl=t(((t,n)=>{var r=e(`node:buffer`),{Transform:i}=e(`node:stream`),{isASCIINumber:a,isValidLastEventId:o}=tl(),s=[239,187,191],c=10,l=13,u=58,d=32,f=r.kStringMaxLength,p=Buffer.from(`data`),m=Buffer.from(`event`),h=Buffer.from(`id`),g=Buffer.from(`retry`);function _(e,t){if(t>=e.length)return!1;for(let n=t;n<e.length;n++)if(e[n]<48||e[n]>57)return!1;return!0}function v(e,t){for(let n=t;n<e.length;n++)if(e[n]===0)return!1;return!0}function y(e,t,n){if(t!==n.length)return!1;for(let r=0;r<t;r++)if(e[r]!==n[r])return!1;return!0}function b(){let e=Error(`EventSource message size exceeded`);return e.aborted=!1,e}n.exports={EventSourceStream:class extends i{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;chunks=[];chunkIndex=0;pos=0;lineChunkIndex=0;linePos=0;eventDataSize=0;maxEventSize;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(e={}){e.readableObjectMode=!0,super(e),this.state=e.eventSourceSettings||{},this.maxEventSize=e.maxEventSize??f,e.push&&(this.push=e.push)}_transform(e,t,n){if(e.length===0){n();return}if(this.chunks.push(e),this.checkBOM&&this.handleBOM()){n();return}for(;this.hasCurrentByte();){let e=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(e===c){this.crlfCheck=!1,this.consumeCurrentByte();continue}this.crlfCheck=!1}if(e===c||e===l){e===l&&(this.crlfCheck=!0),this.consumeCurrentByte(),this.hasPendingEvent()&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(e===c||e===l){e===l&&(this.crlfCheck=!0);try{this.parseLine(this.readLine(),this.event)}catch(e){n(e);return}this.consumeCurrentByte(),this.eventEndCheck=!0;continue}this.advanceCursor()}n()}parseLine(e,t){if(e.length===0)return;let n=e.indexOf(u);if(n===0)return;let r=e.length,i=e.length;if(n!==-1&&(r=n,i=n+1,e[i]===d&&++i),y(e,r,p)){let n=e.length-i,r=this.eventDataSize+(t.data===void 0?0:1)+n;if(this.maxEventSize>0&&r>this.maxEventSize)throw b();let a=e.toString(`utf8`,i);t.data===void 0?t.data=a:t.data+=`\n${a}`,this.eventDataSize=r;return}if(y(e,r,g)){_(e,i)&&(t.retry=e.toString(`utf8`,i));return}if(y(e,r,h)){v(e,i)&&(t.id=e.toString(`utf8`,i));return}if(y(e,r,m)){let n=e.toString(`utf8`,i);n.length>0&&(t.event=n)}}processEvent(e){e.retry&&a(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id!==void 0&&o(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||`message`,options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event.data=void 0,this.event.event=void 0,this.event.id=void 0,this.event.retry=void 0,this.eventDataSize=0}hasPendingEvent(){return this.event.data!==void 0||this.event.event!==void 0||this.event.id!==void 0||this.event.retry!==void 0}hasCurrentByte(){return this.chunkIndex<this.chunks.length&&this.pos<this.chunks[this.chunkIndex].length}currentByte(){return this.chunks[this.chunkIndex][this.pos]}consumeCurrentByte(){this.advanceCursor(),this.syncLineStartToCursor()}advanceCursor(){for(this.pos++;this.chunkIndex<this.chunks.length&&this.pos>=this.chunks[this.chunkIndex].length;)this.chunkIndex++,this.pos=0}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex,this.linePos=this.pos,this.dropConsumedChunks()}dropConsumedChunks(){for(;this.lineChunkIndex>0;)this.chunks.shift(),this.lineChunkIndex--,this.chunkIndex--;this.chunkIndex===this.chunks.length&&(this.chunks.length=0,this.chunkIndex=0,this.pos=0,this.lineChunkIndex=0,this.linePos=0)}readLine(){if(this.lineChunkIndex===this.chunkIndex)return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos);let e=[],t=0;for(let n=this.lineChunkIndex;n<=this.chunkIndex;n++){let r=this.chunks[n],i=n===this.lineChunkIndex?this.linePos:0,a=n===this.chunkIndex?this.pos:r.length,o=r.subarray(i,a);t+=o.length,e.push(o)}return Buffer.concat(e,t)}peekBufferedByte(e){let t=this.lineChunkIndex,n=this.linePos;for(;t<this.chunks.length;){let r=this.chunks[t],i=r.length-n;if(e<i)return r[n+e];e-=i,t++,n=0}}discardLeadingBytes(e){for(;e>0&&this.lineChunkIndex<this.chunks.length;){let t=this.chunks[this.lineChunkIndex].length-this.linePos;e<t?(this.linePos+=e,e=0):(e-=t,this.lineChunkIndex++,this.linePos=0)}this.chunkIndex=this.lineChunkIndex,this.pos=this.linePos,this.dropConsumedChunks()}handleBOM(){let e=this.peekBufferedByte(0),t=this.peekBufferedByte(1),n=this.peekBufferedByte(2);return t===void 0?(e===s[0]||(this.checkBOM=!1),!0):n===void 0?e===s[0]&&t===s[1]||(this.checkBOM=!1,!1):(e===s[0]&&t===s[1]&&n===s[2]&&this.discardLeadingBytes(3),this.checkBOM=!1,!this.hasCurrentByte())}}}})),rl=t(((t,n)=>{var{pipeline:r}=e(`node:stream`),{fetching:i}=Ic(),{webidl:a}=ws(),{EventSourceStream:o}=nl(),{parseMIMEType:s}=Cs(),{createFastMessageEvent:c}=Wc(),{isNetworkError:l}=Nc(),{isValidHeaderValue:u,kEnumerableProperty:d}=$(),{environmentSettingsObject:f}=Ts(),{createPotentialCORSRequest:p}=tl(),{getGlobalDispatcher:m}=mc(),{isomorphicDecode:h}=Ss(),g=new TextEncoder,_=!1,v=3e3,y=0,b=1,x=2,S=`anonymous`,C=`use-credentials`,w=class e extends EventTarget{#e={open:null,error:null,message:null};#t;#n=!1;#r=y;#i=null;#a=null;#o;#s;constructor(e,t={}){super(),a.util.markAsUncloneable(this);let n=`EventSource constructor`;a.argumentLengthCheck(arguments,1,n),_||(_=!0,process.emitWarning(`EventSource is experimental, expect them to change at any time.`,{code:`UNDICI-ES`})),e=a.converters.USVString(e),t=a.converters.EventSourceInitDict(t,n,`eventSourceInitDict`),this.#o=t.node.dispatcher||t.dispatcher,this.#s={lastEventId:``,reconnectionTime:t.node.reconnectionTime};let r=f,i;try{i=new URL(e,r.settingsObject.baseUrl),this.#s.origin=i.origin}catch(e){throw new DOMException(e,`SyntaxError`)}this.#t=i.href;let o=S;t.withCredentials===!0&&(o=C,this.#n=!0);let s=p(i,``,o);s.client=f.settingsObject,s.headersList.set(`Accept`,`text/event-stream`),s.cache=`no-store`,s.initiator=`other`,this.#i=s,this.#c()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#n}#c(){if(this.#r===x)return;this.#r=y;let e={request:this.#i,dispatcher:this.#o};e.processResponseEndOfBody=e=>{if(!l(e))return this.#l()},e.processResponse=e=>{if(l(e)){if(e.aborted){this.close(),this.dispatchEvent(new Event(`error`));return}this.#l();return}let t=e.headersList.get(`content-type`,!0),n=t===null?`failure`:s(t),i=n!==`failure`&&n.essence===`text/event-stream`;if(e.status!==200||i===!1){this.close(),this.dispatchEvent(new Event(`error`));return}this.#r=b,this.dispatchEvent(new Event(`open`)),this.#s.origin=e.urlList[e.urlList.length-1].origin;let a=new o({eventSourceSettings:this.#s,maxEventSize:this.#o.eventSourceOptions?.maxEventSize,push:e=>{this.dispatchEvent(c(e.type,e.options))}});r(e.body.stream,a,e=>{e?.aborted===!1&&(this.close(),this.dispatchEvent(new Event(`error`)))})},this.#a=i(e)}#l(){this.#r!==x&&(this.#r=y,this.dispatchEvent(new Event(`error`)),setTimeout(()=>{if(this.#r===y){if(this.#i.headersList.delete(`last-event-id`,!0),this.#s.lastEventId.length){let e=h(g.encode(this.#s.lastEventId));u(e)&&this.#i.headersList.set(`last-event-id`,e,!0)}this.#c()}},this.#s.reconnectionTime)?.unref())}close(){a.brandCheck(this,e),this.#r!==x&&(this.#r=x,this.#a.abort(),this.#i=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener(`open`,this.#e.open);let t=a.converters.EventHandlerNonNull(e);t===null?this.#e.open=null:(this.addEventListener(`open`,t),this.#e.open=e)}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener(`message`,this.#e.message);let t=a.converters.EventHandlerNonNull(e);t===null?this.#e.message=null:(this.addEventListener(`message`,t),this.#e.message=e)}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener(`error`,this.#e.error);let t=a.converters.EventHandlerNonNull(e);t===null?this.#e.error=null:(this.addEventListener(`error`,t),this.#e.error=e)}},T={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:y,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:b,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:x,writable:!1}};Object.defineProperties(w,T),Object.defineProperties(w.prototype,T),Object.defineProperties(w.prototype,{close:d,onerror:d,onmessage:d,onopen:d,readyState:d,url:d,withCredentials:d}),a.converters.EventSourceInitDict=a.dictionaryConverter([{key:`withCredentials`,converter:a.converters.boolean,defaultValue:()=>!1},{key:`dispatcher`,converter:a.converters.any,defaultValue:()=>m()},{key:`node`,converter:a.dictionaryConverter([{key:`reconnectionTime`,converter:a.converters[`unsigned long`],defaultValue:()=>v},{key:`dispatcher`,converter:a.converters.any}]),defaultValue:()=>({})}]),n.exports={EventSource:w,defaultReconnectionTime:v}})),il=t(((e,t)=>{var n=Ms(),r=fs(),i=Fs(),a=Is(),o=Ls(),s=Rs(),c=zs(),l=Us(),u=Hs(),d=Ws(),f=Ks(),p=qs(),m=Q(),h=$(),{InvalidArgumentError:g}=m,_=tc(),v=ms(),y=oc(),{MockCallHistory:b,MockCallHistoryLog:x}=sc(),S=uc(),C=cc(),w=pc(),T=nc(),E=Gs(),{getGlobalDispatcher:D,setGlobalDispatcher:O}=mc(),k=hc(),A=gc();Object.assign(r.prototype,_),t.exports.Dispatcher=r,t.exports.Client=n,t.exports.Pool=i,t.exports.BalancedPool=a,t.exports.RoundRobinPool=o,t.exports.Agent=s,t.exports.Dispatcher1Wrapper=c,t.exports.ProxyAgent=l,t.exports.Socks5ProxyAgent=u,t.exports.EnvHttpProxyAgent=d,t.exports.RetryAgent=f,t.exports.H2CClient=p,t.exports.RetryHandler=E,t.exports.DecoratorHandler=k,t.exports.RedirectHandler=A,t.exports.interceptors={redirect:_c(),responseError:vc(),retry:yc(),dump:bc(),dns:xc(),cache:Dc(),decompress:Oc(),deduplicate:Ac()},t.exports.cacheStores={MemoryCacheStore:Tc()};var j=jc();t.exports.cacheStores.SqliteCacheStore=j,t.exports.buildConnector=v,t.exports.errors=m,t.exports.util={parseHeaders:h.parseHeaders,headerNameToString:h.headerNameToString};function M(e){return(t,n,r)=>{if(typeof n==`function`&&(r=n,n=null),!t||typeof t!=`string`&&typeof t!=`object`&&!(t instanceof URL))throw new g(`invalid url`);if(n!=null&&typeof n!=`object`)throw new g(`invalid opts`);if(n&&n.path!=null){if(typeof n.path!=`string`)throw new g(`invalid opts.path`);let e=n.path;n.path.startsWith(`/`)||(e=`/${e}`),t=new URL(h.parseOrigin(t).origin+e)}else n||=typeof t==`object`?t:{},t=h.parseURL(t);let{agent:i,dispatcher:a=D(),...o}=n;if(i)throw new g(`unsupported opts.agent. Did you mean opts.client?`);return e.call(a,{...o,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:n.method||(n.body?`PUT`:`GET`)},r)}}t.exports.setGlobalDispatcher=O,t.exports.getGlobalDispatcher=D;var N=Ic().fetch,P=typeof __filename<`u`?__filename:void 0;function F(e,t){if(!e||typeof e!=`object`)return;let n=typeof e.stack==`string`?e.stack:``,r=t.replace(/\\/g,`/`);if(n&&(n.includes(t)||n.includes(r)))return;let i={};if(Error.captureStackTrace(i,F),!i.stack)return;let a=i.stack.split(`
113
+ `).slice(1).join(`
114
+ `);e.stack=n?`${n}\n${a}`:i.stack}t.exports.fetch=function(e,n=void 0){return N(e,n).catch(e=>{throw P?F(e,P):e&&typeof e==`object`&&Error.captureStackTrace(e,t.exports.fetch),e})},t.exports.Headers=Mc().Headers,t.exports.Response=Nc().Response,t.exports.Request=Pc().Request,t.exports.FormData=Ds().FormData;var{setGlobalOrigin:I,getGlobalOrigin:L}=bs();t.exports.setGlobalOrigin=I,t.exports.getGlobalOrigin=L;var{CacheStorage:R}=zc(),{kConstruct:z}=Z();t.exports.caches=new R(z);var{deleteCookie:B,getCookies:V,getSetCookies:ee,setCookie:H,parseCookie:te}=Uc();t.exports.deleteCookie=B,t.exports.getCookies=V,t.exports.getSetCookies=ee,t.exports.setCookie=H,t.exports.parseCookie=te;var{parseMIMEType:U,serializeAMimeType:ne}=Cs();t.exports.parseMIMEType=U,t.exports.serializeAMimeType=ne;var{CloseEvent:W,ErrorEvent:G,MessageEvent:re}=Wc(),{WebSocket:K,ping:ie}=Qc();t.exports.WebSocket=K,t.exports.CloseEvent=W,t.exports.ErrorEvent=G,t.exports.MessageEvent=re,t.exports.ping=ie,t.exports.WebSocketStream=el().WebSocketStream,t.exports.WebSocketError=$c().WebSocketError,t.exports.request=M(_.request),t.exports.stream=M(_.stream),t.exports.pipeline=M(_.pipeline),t.exports.connect=M(_.connect),t.exports.upgrade=M(_.upgrade),t.exports.MockClient=y,t.exports.MockCallHistory=b,t.exports.MockCallHistoryLog=x,t.exports.MockPool=C,t.exports.MockAgent=S,t.exports.SnapshotAgent=w,t.exports.mockErrors=T;var{EventSource:ae}=rl();t.exports.EventSource=ae;function oe(){globalThis.fetch=t.exports.fetch,globalThis.Headers=t.exports.Headers,globalThis.Response=t.exports.Response,globalThis.Request=t.exports.Request,globalThis.FormData=t.exports.FormData,globalThis.WebSocket=t.exports.WebSocket,globalThis.CloseEvent=t.exports.CloseEvent,globalThis.ErrorEvent=t.exports.ErrorEvent,globalThis.MessageEvent=t.exports.MessageEvent,globalThis.EventSource=t.exports.EventSource}t.exports.install=oe}))(),al={get:`GET`,post:`POST`,put:`PUT`,patch:`PATCH`,delete:`DELETE`},ol=e=>al[e],sl=11e4,cl=new Map;function ll(e){let t=cl.get(e);if(t!==void 0)return t;let n=new il.Dispatcher1Wrapper(new il.Agent({headersTimeout:e,bodyTimeout:e}));return cl.set(e,n),n}function ul(e,t,n=[]){return X(`${e}: ${t.status} ${t.title}`,[...n],{httpStatus:t.status,problem:t})}function dl(e){let t=[],n=[];for(let[r,i]of Object.entries(e)){let e=r.toLowerCase();(e===`warning`||e.startsWith(`x-contract-warning-`))&&(t.push(`${fl(e)}: ${i}`),e===`x-contract-warning-key`&&n.push(i))}return{warnings:t,omitted:n}}function fl(e){return e===`warning`?`Warning`:e.split(`-`).map(e=>e===`x`?`X`:`${e[0]?.toUpperCase()??``}${e.slice(1)}`).join(`-`)}async function pl(e,t,n){let r=Number(process.env.AVENTURE_API_REQUEST_TIMEOUT_MS),i=Number.isInteger(r)&&r>0?r:sl,a=hl(e.host,t.path,t.searchParams),o=Ea(),s={Accept:`application/json`,"User-Agent":Pr(),...t.headers,...o===void 0?{}:{"X-Client-Request-Id":o}},c=t.body instanceof FormData?t.body:t.body===void 0?void 0:JSON.stringify(t.body);c!==void 0&&t.contentType!==void 0&&(s[`Content-Type`]=t.contentType);let l=performance.now();bi({component:`aventure-api-client`,event:`request`,fields:{..._l(t,e.host,o),hasBody:t.body!==void 0}});let u,d=t.method===`GET`?2:1;try{u=await ml(a,t,s,c,i,d,o)}catch(n){let r=Ci(n),a=wi(n);Si({component:`aventure-api-client`,event:`request_failed`,message:r,fields:{..._l(t,e.host,o),timeoutMs:i,...a},error:n});let s=a.causeChain===void 0?``:`: ${String(a.causeChain)}`;throw Error(`request to ${e.host} failed: ${r}${s}`,{cause:n})}let f=Math.round(performance.now()-l),p=u.ok&&t.responseBytes?void 0:await u.text().catch(e=>u.ok?Promise.reject(e):`Response body read failed: ${Ci(e)}`),m=p===void 0?new Uint8Array(await u.arrayBuffer()):vl(p,u.headers.get(`content-type`),u.ok?n:void 0,{..._l(t,e.host,o),status:u.status}),h={component:`aventure-api-client`,event:`response`,fields:{..._l(t,e.host,o),status:u.status,durationMs:f}};if(u.ok)return bi(h),{ok:!0,status:u.status,headers:Object.fromEntries(u.headers),data:m};let g=ns(rs(Yo(u.status,m??p,s),u.headers),s);return xi({component:`aventure-api-client`,event:`problem_response`,fields:{..._l(t,e.host,o),durationMs:f,...Qo(g,s)}}),{ok:!1,status:u.status,problem:g}}async function ml(e,t,n,r,i,a,o){let s;for(let c=1;c<=a;c+=1)try{return await fetch(e,{method:t.method,headers:n,body:r,signal:AbortSignal.timeout(i),dispatcher:ll(i)})}catch(n){if(s=n,c>=a)break;xi({component:`aventure-api-client`,event:`request_retry`,message:Ci(n),fields:{..._l(t,new URL(e).host,o),attempt:c,...wi(n)},error:n})}throw s}function hl(e,t,n){let r=e.startsWith(`http`)?e:`https://${e}`,i=new URL(t,r);for(let[e,t]of Object.entries(n??{}))t!==void 0&&i.searchParams.set(e,String(t));return i.toString()}var gl=new Set([204,205]);function _l(e,t,n){return{method:e.method,host:t,path:Vo(e.path),requestId:n,operationId:e.operationId}}function vl(e,t,n,r){let i=t?.includes(`json`)===!0||[`{`,`[`].includes(e.trimStart().slice(0,1)),a=e.length===0?void 0:e;if(e.length>0&&i)try{a=JSON.parse(e)}catch(e){xi({component:`aventure-api-client`,event:`response_json_parse_failed`,message:Ci(e),fields:{...r},error:e})}if(n===void 0||a===void 0&&gl.has(r.status))return a;let o=n.safeParse(a);if(o.success)return o.data;throw Error(`API response failed canonical schema validation`,{cause:o.error})}var yl=`actorType`,bl=`agentChassis`,xl=`agentModel`,Sl=`AVENTURE_AGENT_CHASSIS`,Cl=`AVENTURE_AGENT_MODEL`,wl=[{chassis:`kimi-cli`,envNames:[`KIMI_MODEL`]},{chassis:`grok-build-cli`,envNames:[`GROK_HOME`,`GROK_MANAGED_BY_NPM`,`GROK_MANAGED_BY_INTERNAL`]},{chassis:`claude-code`,envNames:[`CLAUDECODE`,`CLAUDE_CODE`]},{chassis:`pi-cli`,envNames:[`PI_CODING_AGENT`]},{chassis:`codex-cli`,envNames:[`CODEX_MANAGED_BY_NPM`,`CODEX_SANDBOX`,`CODEX_THREAD_ID`,`CODEX_HOME`]}],Tl=[{chassis:`kimi-cli`,envNames:[`KIMI_MODEL`]},{chassis:`grok-build-cli`,envNames:[`GROK_MODEL`,`XAI_MODEL`]},{chassis:`codex-cli`,envNames:[`CODEX_MODEL`]},{chassis:`pi-cli`,envNames:[`PI_MODEL`]}],El=[`OLLAMA_MODEL`,`OLLAMA_LAUNCH_MODEL`],Dl=[`claude-code`,`claude-agent-sdk`],Ol=[`ANTHROPIC_MODEL`,`ANTHROPIC_DEFAULT_OPUS_MODEL`,`ANTHROPIC_DEFAULT_SONNET_MODEL`,`ANTHROPIC_DEFAULT_HAIKU_MODEL`];function kl(e){let t=Bl(e);return t.has(yl)||t.has(bl)&&t.has(xl)}function Al({operation:e,searchParams:t,env:n=process.env,clientInfo:r}){if(!kl(e))return Y(`Agent provenance unchanged`,t);let i=Wl(t?.[yl]),a=i?.toLowerCase();if(i&&a!==`agent`&&a!==`employee`)return X(`${e.operationId} has unknown provenance actorType.`,[`Use actorType=agent or actorType=employee. actorType is optional only at the API boundary when a complete agent pair or employee JWT lets the resolver infer it before domain and write-lane enforcement.`]);let o=Wl(t?.[bl]),s=Wl(t?.[xl]);if(a===`employee`)return o||s?X(`${e.operationId} has mixed employee and agent provenance.`,[`Pass actorType=employee without agentChassis or agentModel.`]):Y(`Employee provenance explicit`,{...t,actorType:`employee`});let c=Ul(n,Sl),l=Ul(n,Cl);if(o&&c&&o!==c)return X(Ml(e,`chassis`),[Nl({param:bl,flag:`--agent-chassis`,envName:Sl,envValue:c,explicitValue:o})]);if(s&&l&&s!==l)return X(Ml(e,`model`),[Nl({param:xl,flag:`--agent-model`,envName:Cl,envValue:l,explicitValue:s})]);let u=Pl(n,r);return o&&s?u.status===`partial`?X(`${e.operationId} rejected: explicit agent provenance cannot repair partial runtime provenance.`,[u.warning,`You passed --agent-chassis ${o} --agent-model ${s}.`,`Set ${Sl} and ${Cl} together after verifying the session; do not patch provenance per command.`]):u.status===`complete`&&(o!==u.pair.agentChassis||s!==u.pair.agentModel)?X(`${e.operationId} rejected: explicit agent provenance disagrees with the runtime environment.`,[`Detected ${u.pair.agentChassis}/${u.pair.agentModel} from runtime signals.`,`You passed --agent-chassis ${o} --agent-model ${s}.`,`Omit both flags, or set AVENTURE_AGENT_CHASSIS and AVENTURE_AGENT_MODEL after verifying the session.`]):Y(`Agent provenance explicit`,{...t,actorType:`agent`}):o||s?X(jl(e),[`Pass both agentChassis and agentModel, or omit both so the API can infer an employee actor from an authenticated user JWT session or this caller can auto-fill a verified local agent pair.`]):u.status===`missing`?a===`agent`?X(jl(e),[`actorType=agent requires agentChassis and agentModel before the API can build the enforced domain actor.`]):Y(`Provenance left for API-boundary actor inference`,t):u.status===`partial`?X(jl(e),[u.warning,`Set ${Sl} and ${Cl}, or pass --agent-chassis and --agent-model.`]):Y(`Agent provenance auto-filled`,{...t,actorType:`agent`,agentChassis:u.pair.agentChassis,agentModel:u.pair.agentModel})}function jl(e){return`${e.operationId} requires complete agent provenance.`}function Ml(e,t){return`${e.operationId} rejected: explicit agent ${t} disagrees with the runtime environment.`}function Nl(e){return[`Your runtime environment declares ${e.envName}=${e.envValue}, but you passed ${e.flag} ${e.explicitValue} (query param ${e.param}).`,`The environment value comes from the container/runtime you are executing inside and is almost always correct.`,`If you (the LLM agent) believe the environment is wrong, investigate the container configuration first — do not override with a guess.`,`Otherwise, omit ${e.flag} entirely and the CLI will auto-fill from ${e.envName} (and ${Cl} for the model). LLM agents hallucinate provenance frequently; stop providing false parameters.`].join(` `)}function Pl(e,t){let n=Ul(e,Sl),r=Ul(e,Cl);if(n&&r)return{status:`complete`,pair:{agentChassis:n,agentModel:r}};if(n||r)return{status:`partial`,warning:`${Sl} and ${Cl} must be set together.`};let i=Fl(e,t),a=Il(e,i),o=Ll(i)?Rl(e):void 0,s=Ll(i)&&Ol.some(t=>Ul(e,t)!==void 0),c=a??o??(s?void 0:Vl(e,...El));return i&&c?{status:`complete`,pair:{agentChassis:i,agentModel:c}}:i?{status:`partial`,warning:`${i} was detected, but no verified model source was present.`}:c?{status:`partial`,warning:`A model was detected, but no verified agent chassis source was present.`}:{status:`missing`,warning:`No verified local agent chassis/model pair was present.`}}function Fl(e,t){return wl.find(t=>t.envNames.some(t=>Hl(e,t)))?.chassis??zl(t?.name)}function Il(e,t){let n=t?Tl.find(e=>e.chassis===t):void 0;return n?Vl(e,...n.envNames):void 0}function Ll(e){return e!==void 0&&Dl.some(t=>t===e)}function Rl(e){let t=[...new Set(Ol.map(t=>Ul(e,t)).filter(Boolean))];return t.length===1?t[0]:void 0}function zl(e){let t=e?.toLowerCase().replace(/[^a-z0-9]+/g,` `).trim();if(t){if(t.includes(`claude`)&&t.includes(`sdk`))return`claude-agent-sdk`;if(t===`claude code`||t.includes(`claude code`))return`claude-code`;if(t===`codex`||t.includes(`codex`))return`codex-cli`;if(t===`kimi`||t.includes(`kimi`))return`kimi-cli`;if(t.includes(`hermes`))return`hermes-cli`;if(t.includes(`grok`))return`grok-build-cli`;if(t.includes(`mistral vibe`))return`mistral-vibe-cli`;if(t===`pi`||t===`pi cli`)return`pi-cli`}}var Bl=e=>new Set((e.parameters??[]).filter(e=>e.in===`query`).map(e=>e.name)),Vl=(e,...t)=>t.map(t=>Ul(e,t)).find(e=>e!==void 0);function Hl(e,t){let n=Ul(e,t)?.toLowerCase();return n!==void 0&&n!==`0`&&n!==`false`&&n!==`no`}function Ul(e,t){return e[t]?.trim()||void 0}function Wl(e){if(e===void 0)return;let t=typeof e==`object`?e[0]:e;return t===void 0?void 0:String(t).trim()||void 0}function Gl(e,t,n){return Yl(t?.includePrivate)||Yl(ql(n))?`required`:Jl(e)?`preferred`:`none`}function Kl(e,t,n,r){return t}var ql=e=>typeof e==`object`&&e&&!Array.isArray(e)?e.includePrivate:void 0,Jl=e=>(e.parameters??[]).some(e=>e.in===`query`&&e.name===`includePrivate`);function Yl(e){return e===null||typeof e==`object`?Array.isArray(e)&&e.some(Yl):e===!0||e===1||typeof e==`string`&&/^(true|on|yes|1)$/i.test(e.trim())}var Xl=class extends Error{problem;constructor(e){let{status:t,title:n,detail:r,code:i,retryAfterSeconds:a}=e;super(`OAuth bearer verification ${t===429?`was rate limited`:`is unavailable`}: ${t} ${n}${r?` — ${r}`:``}`+(typeof i==`string`?` [code: ${i}]`:``)+(typeof a==`number`?` [retry after ${a} seconds]`:``)),this.name=`BearerVerificationUnavailableError`,this.problem=e}};async function Zl(e,t,n=[]){let r=`authorizeOperations`,i=await pl(uu(Sr()),{method:`POST`,path:au(r,{}),headers:{Authorization:`Bearer ${e}`,"Content-Type":`application/json`},body:{operation:[...n]},operationId:r},po);if(!i.ok&&i.status!==401&&i.status!==403)throw new Xl(i.problem);if(!i.ok)return i.status===403?`forbidden`:null;if(!e.includes(`.`))return i.data;try{let{typ:t}=Ca(e);if(t!==`at+jwt`&&t!==`application/at+jwt`)return i.data}catch{return i.data}let{aud:a}=wa(e);if(a===void 0)return i.data;if(t===void 0)throw Error(`OAuth bearer verification is unavailable`);let o=Array.isArray(a)?a:[a];return o.length===1&&o[0]===t.href?i.data:null}var Ql=Fo.safeParse(ho);if(!Ql.success)throw Error(`OpenAPI snapshot drifted from spec subset: ${Ql.error.message}`);var $l=Ql.data,eu=[`localhost`,`127.0.0.1`,`0.0.0.0`,`[::1]`],tu=`X-Job-Name`,nu=`AVENTURE_JOB_NAME`,ru=/^[A-Za-z0-9._:-]{1,120}$/,iu=`MCP transport credential is read-only; refused an authenticated upstream call.`;function au(e,t){let n=Lo($l.paths,e);if(!n)throw Error(`OpenAPI operationId not found: ${e}`);return zo(n.template,Bo(n.operation,t,e),e)}function ou(e){let t=Lo($l.paths,e);if(!t)throw Error(`OpenAPI operationId not found: ${e}`);let n=(t.operation.parameters??[]).filter(e=>e.in===`header`&&e.required===!0);if(n.length!==1)throw Error(`OpenAPI operation ${e} must declare exactly one required header parameter; found ${n.length}`);let r=n[0]?.name.trim();if(!r)throw Error(`OpenAPI operation ${e} has a blank required header name`);return r}function su(e){let t=e.pathParams??{};try{if(e.operationId!==void 0){let n=Lo($l.paths,e.operationId);if(n===null)return X(`OpenAPI operationId not found: ${e.operationId}`);let r=zo(n.template,Bo(n.operation,t,e.operationId),e.operationId);return Y(`Resolved ${e.operationId}`,{...n,path:r})}if(e.method===void 0||e.path===void 0)return X(`Pass operationId or method+path.`);let n=e.method.toLowerCase(),r=e.path;$l.paths[r]?.[n]===void 0&&r.includes(`{`)&&(r=Object.keys($l.paths).find(t=>{let r=$l.paths[t][n];return r!==void 0&&(r.parameters??[]).reduce((e,t)=>{let n=t[`x-aventure-legacy-name`]?.name;return n===void 0?e:e.replaceAll(`{${t.name}}`,`{${n}}`)},t)===e.path})??e.path);let i=$l.paths[r]?.[n],a=zo(r,i===void 0?t:Bo(i,t,e.path),e.path),o=Ro($l.paths,n,a);return o===null?X(`OpenAPI operation not found for ${e.method} ${Vo(a)}`):(i===void 0&&Bo(o.operation,t,e.path),Y(`Resolved ${o.operation.operationId}`,{...o,path:a}))}catch(e){return X(e.message)}}async function cu(e){let t=Ro($l.paths,e.method.toLowerCase(),e.path);if(!t)return X(`OpenAPI operation not found for ${e.method} ${Vo(e.path)}`,[`Use a path in this package's OpenAPI contract; undocumented routes are not supported.`]);let n=t.operation,r=Pa(n.requestBody?.content),i=Fa(r,e.contentType);if(!i.ok||i.data===null)return X(i.summary,i.warnings);let a=lu(n,e.headers);if(!a.ok||a.data===null)return X(a.summary,a.warnings);let o=e.requesterScope??`write`,s=e.auth===`auto`?(n.security?.length??0)>0?`bearer`:`none`:e.auth,c=Da();if(o===`read`&&c===void 0&&(s===`write`||s===`bearer`))return X(iu,[`Resolved upstream auth=${s} for ${e.method} ${e.path}.`,`Pass auth='read' explicitly for POST read endpoints, or sign in with an account that permits the call.`]);let l=Ma(e.body);if(!l.ok)return X(l.summary,l.warnings);if(Na(i.data,$l.components.schemas)&&l.data!==void 0&&!Array.isArray(l.data))return X(`${n.operationId} requires a JSON array body.`);let u=n.operationId,d=e.responseBytes===!0&&ro(n),f=d?`*/*`:pu(e.responseFormat??`auto`,n);if(!d&&e.responseFormat===`text`&&f!==`text/plain`)return X(`${u} does not offer text/plain. Omit responseFormat to use its default response format.`);let p=e.preparedAuth===void 0?c===void 0?du(s,n,{searchParams:e.searchParams,body:l.data}):Dr(`none`):Y(`reused prepared auth`,e.preparedAuth);if(!p.ok||!p.data)return X(p.summary,p.warnings);let m=e.preparedAuth??(c===void 0?p.data:{...p.data,credential:_r.authToken,headers:{Authorization:`Bearer ${c}`}});e.onAuthPrepared?.(m);let h=Al({operation:n,searchParams:Kl(n,e.searchParams,l.data,`Authorization`in m.headers),clientInfo:e.clientInfo});if(!h.ok)return X(h.summary,h.warnings);let g=h.data??void 0,_=mu(e.path,g),v=uu(p.data.env),y={method:e.method,endpoint:_,operationId:u},b=await ja(n,l.data,e.contentType,fu(e.method));if(!b.ok||b.data===null)return X(b.summary,b.warnings);let x=process.env[nu]?.trim(),S={method:e.method,path:_,headers:{...a.data,...m.headers,...x&&ru.test(x)?{[tu]:x}:{},Accept:f},body:b.data.body,contentType:b.data.contentType,operationId:u},C=d?await pl(v,{...S,responseBytes:!0}):await pl(v,S,Dn);if(!C.ok)return ul(`${u??e.method} failed`,C.problem,[`endpoint=${_}`]);if(C.data instanceof Uint8Array)return Y(`${u??e.method} succeeded`,C.data);let w=Zn(C.data),T=dl(C.headers);return Y(`${u??e.method} succeeded`,f===`text/plain`&&typeof C.data==`string`?C.data:{...y,...r.length>1&&i.data!==void 0?{contentType:i.data.contentType}:{},httpStatus:C.status,summary:n.summary,nextCursor:C.headers[`x-next-cursor`]||void 0,response:C.data},{httpStatus:C.status,...y,format:f===`text/plain`?`text`:`json`,count:Qn(C.data,w),page:w,filters:Ho(n,g),omitted:T.omitted,references:[`${v.host}${_}`],warnings:T.warnings})}function lu(e,t){let n=(e.parameters??[]).filter(e=>e.in===`header`),r={};for(let[i,a]of Object.entries(t??{})){let t=n.findLast(e=>e.name.toLowerCase()===i.toLowerCase());if(t===void 0)return X(`${e.operationId} does not declare header '${i}'.`);if(Object.hasOwn(r,t.name))return X(`Header '${t.name}' was supplied more than once.`);r[t.name]=a}let i=n.find(e=>e.required===!0&&!Object.hasOwn(r,e.name));return i===void 0?Y(`OpenAPI request headers validated`,r):X(`${e.operationId} requires header '${i.name}'.`)}function uu(e){let t=e.host.trim(),n=t.toLowerCase();if(/^https?:\/\//i.test(t))return t===e.host?e:{...e,host:t};let r=eu.some(e=>n===e||n.startsWith(`${e}:`));return{...e,host:`${r?`http`:`https`}://${t}`}}function du(e,t,n){if(e!==`none`)return Dr(e);let r=Dr(`none`);return!r.ok||!r.data?r:Gl(t,n.searchParams,n.body)===`required`||r.data.env.userBearerToken?Dr(`bearer`):r}function fu(e){return e===`PATCH`?`application/merge-patch+json`:e===`POST`||e===`PUT`?`application/json`:void 0}function pu(e,t){return e===`json`?`application/json`:Object.entries(t.responses).some(([e,t])=>e.startsWith(`2`)&&`text/plain`in(t.content??{}))?`text/plain`:`application/json`}function mu(e,t){let n=new URL(e,`https://placeholder.invalid`);for(let[e,r]of Object.entries(t??{}))if(r!==void 0){if(Array.isArray(r))for(let t of r)n.searchParams.append(e,String(t));else n.searchParams.set(e,String(r))}return`${n.pathname}${n.search}`}var hu=j({authorizationServer:u(),clientId:u(),mcpResource:u().nullish(),redirectUri:u(),resource:u(),scope:v(u())}),gu=f().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:wn.custom,message:`URL must be parseable`,fatal:!0}),h}).refine(e=>{let t=new URL(e);return t.protocol!==`javascript:`&&t.protocol!==`data:`&&t.protocol!==`vbscript:`},{message:`URL cannot use javascript:, data:, or vbscript: scheme`});b({resource:u().url(),authorization_servers:v(gu).optional(),jwks_uri:u().url().optional(),scopes_supported:v(u()).optional(),bearer_methods_supported:v(u()).optional(),resource_signing_alg_values_supported:v(u()).optional(),resource_name:u().optional(),resource_documentation:u().optional(),resource_policy_uri:u().url().optional(),resource_tos_uri:u().url().optional(),tls_client_certificate_bound_access_tokens:w().optional(),authorization_details_types_supported:v(u()).optional(),dpop_signing_alg_values_supported:v(u()).optional(),dpop_bound_access_tokens_required:w().optional()});var _u=b({issuer:u(),authorization_endpoint:gu,token_endpoint:gu,registration_endpoint:gu.optional(),scopes_supported:v(u()).optional(),response_types_supported:v(u()),response_modes_supported:v(u()).optional(),grant_types_supported:v(u()).optional(),token_endpoint_auth_methods_supported:v(u()).optional(),token_endpoint_auth_signing_alg_values_supported:v(u()).optional(),service_documentation:gu.optional(),revocation_endpoint:gu.optional(),revocation_endpoint_auth_methods_supported:v(u()).optional(),revocation_endpoint_auth_signing_alg_values_supported:v(u()).optional(),introspection_endpoint:u().optional(),introspection_endpoint_auth_methods_supported:v(u()).optional(),introspection_endpoint_auth_signing_alg_values_supported:v(u()).optional(),code_challenge_methods_supported:v(u()).optional(),client_id_metadata_document_supported:w().optional()}),vu=b({issuer:u(),authorization_endpoint:gu,token_endpoint:gu,userinfo_endpoint:gu.optional(),jwks_uri:gu,registration_endpoint:gu.optional(),scopes_supported:v(u()).optional(),response_types_supported:v(u()),response_modes_supported:v(u()).optional(),grant_types_supported:v(u()).optional(),acr_values_supported:v(u()).optional(),subject_types_supported:v(u()),id_token_signing_alg_values_supported:v(u()),id_token_encryption_alg_values_supported:v(u()).optional(),id_token_encryption_enc_values_supported:v(u()).optional(),userinfo_signing_alg_values_supported:v(u()).optional(),userinfo_encryption_alg_values_supported:v(u()).optional(),userinfo_encryption_enc_values_supported:v(u()).optional(),request_object_signing_alg_values_supported:v(u()).optional(),request_object_encryption_alg_values_supported:v(u()).optional(),request_object_encryption_enc_values_supported:v(u()).optional(),token_endpoint_auth_methods_supported:v(u()).optional(),token_endpoint_auth_signing_alg_values_supported:v(u()).optional(),display_values_supported:v(u()).optional(),claim_types_supported:v(u()).optional(),claims_supported:v(u()).optional(),service_documentation:u().optional(),claims_locales_supported:v(u()).optional(),ui_locales_supported:v(u()).optional(),claims_parameter_supported:w().optional(),request_parameter_supported:w().optional(),request_uri_parameter_supported:w().optional(),require_request_uri_registration:w().optional(),op_policy_uri:gu.optional(),op_tos_uri:gu.optional(),client_id_metadata_document_supported:w().optional()}),yu=j({...vu.shape,..._u.pick({code_challenge_methods_supported:!0}).shape}),bu=j({access_token:u(),id_token:u().optional(),token_type:u(),expires_in:En().optional(),scope:u().optional(),refresh_token:u().optional()}).strip(),xu=j({error:u(),error_description:u().optional(),error_uri:u().optional()}),Su=gu.optional().or(x(``).transform(()=>void 0)),Cu=j({redirect_uris:v(gu),token_endpoint_auth_method:u().optional(),grant_types:v(u()).optional(),response_types:v(u()).optional(),client_name:u().optional(),client_uri:gu.optional(),logo_uri:Su,scope:u().optional(),contacts:v(u()).optional(),tos_uri:Su,policy_uri:u().optional(),jwks_uri:gu.optional(),jwks:k().optional(),software_id:u().optional(),software_version:u().optional(),software_statement:u().optional()}).strip(),wu=j({client_id:u(),client_secret:u().optional(),client_id_issued_at:g().optional(),client_secret_expires_at:g().optional()}).strip();Cu.merge(wu),j({error:u(),error_description:u().optional()}).strip(),j({token:u(),token_type_hint:u().optional()}).strip();export{xr as $,ka as A,bi as B,no as C,Fa as D,ao as E,Yi as F,ni as G,Hi as H,ra as I,Gr as J,Ur as K,Ci as L,va as M,Qi as N,Ea as O,pa as P,yr as Q,yi as R,to as S,$a as T,ai as U,xi as V,Ai as W,_r as X,qr as Y,vr as Z,zo as _,J as _t,hu as a,X as at,po as b,pe as bt,ou as c,bn as ct,Zl as d,Et as dt,wr as et,ol as f,gt as ft,go as g,Se as gt,es as h,Pe as ht,yu as i,$n as it,wa as j,Oa as k,su as l,tn as lt,ts as m,_t as mt,_u as n,Sr as nt,Xl as o,Y as ot,pl as p,ht as pt,Wr as q,bu as r,Gn as rt,au as s,Dn as st,xu as t,Tr as tt,cu as u,en as ut,ho as v,he as vt,so as w,eo as x,mo as y,fe as yt,Si as z};